我想访问一个位于资产中的文本文件,该文件将对该文件进行一些处理,并在我的Activity中调用。我正在使用的代码是:
AssetManager assetManager = getAssets();
InputStream instream = assetManager.open("file.txt");
如果在Activity类中使用它,如何使它在普通的java类中工作,这可以正常工作吗?
被修改
JamesBlack - 因为如果我传递了输入流,那么以下代码将不起作用
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()&gt; 1然后while循环只执行一次,然后一旦读取文件一次就等于null。
当以下代码有效但我无法在普通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) { ... }
}
答案 0 :(得分:3)
您必须将上下文传递给该java类才能访问资产文件夹。