我想訪問位於資產下的文本文件,該文件將對該文件執行一些處理,並在我的活動中調用。我使用的代碼是:Android訪問資產文件
AssetManager assetManager = getAssets();
InputStream instream = assetManager.open("file.txt");
如果一個Activity類使用,但如何讓它在一個普通的Java類工作,這工作得很好?
被修改
JamesBlack - 因爲如果我通過了InputStream,則下面的代碼將不工作
for (int i = 0; i < gestureNumbers.size(); i++) {
BufferedReader bf = new BufferedReader(new InputStreamReader(instream));
// possible error here
while ((line = bf.readLine()) != null) { ... }
}
即使gestureNumbers.size()> 1,則while循環只執行一次然後一旦讀取文件就等於空。
當下面的代碼工作,但我不能在純java類中打開文件,它在活動類中工作,我不想在一個類中有太多的代碼。
for (int i = 0; i < gestureNumbers.size(); i++) {
InputStream instream = assetManager.open("BSL_Word_POS.txt");
BufferedReader bf = new BufferedReader(new InputStreamReader(instream));
// possible error here
while ((line = bf.readLine()) != null) { ... }
}
爲什麼不將InputStream傳遞給純java類。爲什麼你不想在活動中這樣做? –
如果你想在普通的java類中做,然後將活動類的上下文傳遞給你的Java類,然後context.getAssets(); 會工作 – ingsaurabh