Tampon okuma için bir aktivitede yaptığım şey, ihtiyaçlarınıza göre genişlet / değiştir
BufferedReader reader = null;
try {
reader = new BufferedReader(
new InputStreamReader(getAssets().open("filename.txt")));
// do reading, usually loop until end of file reading
String mLine;
while ((mLine = reader.readLine()) != null) {
//process line
...
}
} catch (IOException e) {
//log the exception
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
//log the exception
}
}
}
DÜZENLEME: Sorunuz bir etkinliğin dışında nasıl yapılacağı ile ilgiliyse cevabım belki işe yaramaz. Sorunuz basitçe öğeden bir dosyayı nasıl okuyacağınız ise cevap yukarıdadır.
GÜNCELLEME :
Türü belirten bir dosyayı açmak için türü aşağıdaki gibi InputStreamReader çağrısına ekleyin.
BufferedReader reader = null;
try {
reader = new BufferedReader(
new InputStreamReader(getAssets().open("filename.txt"), "UTF-8"));
// do reading, usually loop until end of file reading
String mLine;
while ((mLine = reader.readLine()) != null) {
//process line
...
}
} catch (IOException e) {
//log the exception
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
//log the exception
}
}
}
DÜZENLE
@Stan'ın yorumda söylediği gibi, verdiğim kod satırları özetlemiyor. mLineher geçişte değiştirilir. Bu yüzden yazdım //process line. Dosya bir tür veri (yani bir kişi listesi) içeriyor ve her satır ayrı ayrı işlenmesi gerektiğini varsayalım.
Dosyayı herhangi bir işlem yapmadan yüklemek istiyorsanız mLine, her geçişi kullanarak StringBuilder()ve her geçişte özetlemeniz gerekir .
BAŞKA BİR DÜZENLEME
@ Vincent yorumuna göre finallybloğu ekledim .
Ayrıca Java 7 ve üst sürümlerinde, en son Java'nın ve özelliklerini kullanmak try-with-resourcesiçin kullanabileceğinizi unutmayın .AutoCloseableCloseable
BAĞLAM
Bir yorumda @LunarWatcher getAssets()bunun classiçinde olduğuna dikkat çekiyor context. Yani, bunu bir dışında çağırırsanız, ona activitybaşvurmanız ve bağlam örneğini etkinliğe geçirmeniz gerekir.
ContextInstance.getAssets();
Bu @Maneesh cevabında açıklanmaktadır. Eğer bu sizin için faydalıysa cevabını onaylayın, çünkü bunu işaret eden oydu.