我正在测试一些东西。
我在packages / apps / Camera /中创建了 assets 文件夹,并在文件夹中添加了 test.txt 文件。
但是当我根据以下代码片段访问 onCreate()方法中的文件时,我发现无法获取该文件。
File file = new File("/assets/test.txt");
BufferedReader reader = null;
try {
Log.v("jerikc","read the file");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
while ((tempString = reader.readLine()) != null) {
Log.v("jerikc","line " + line + ": " + tempString);
line++;
}
reader.close();
} catch (IOException e) {
Log.v("jerikc","exception");
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
日志是:
V / jerikc(3454):读取文件
V / jerikc(3454):异常
我想我添加了错误的路径。(“/ assets / test.txt”)。 那么正确的道路是什么?
其他一些信息:
我的真实代码是Util类,没有上下文。如果我添加上下文,代码结构将发生很大的变化。
感谢。
答案 0 :(得分:1)
您必须阅读以下资产
AssetManager mAsset = context.getAssets();
InputStream is = mAsset.open("test.txt");
答案 1 :(得分:1)
你可以通过这种方式从资产文件夹中获取路径...试试这个......
File file = new File("file:///assets/test.txt");
而不是这个..
File file = new File("/assets/test.txt");