【发布时间】:2017-02-01 20:33:54
【问题描述】:
我尝试创建一个可以读取 txt 文件但显示下一个错误的项目:
/data/user/0/com.example.asojac.probandobuffer/files/hola.txt:打开 失败:ENOENT(没有这样的文件或目录)
文件在“assets”文件夹中
我的方法是这样的:
public String getTexto() {
try {
File fileDir = new File(getFilesDir().getPath() +"/hola.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(fileDir), "ISO-8859-1"));
String str, str2="";
while ((str = in.readLine()) != null) {
str2 += "\n" + str;
}
in.close();
return str2;
} catch (Exception e) {
Log.e("TAG Exception" , e.getMessage());
}
return ":(";
}
在androidmanifest.xml中
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
我也试过了:
File fileDir = new File(getFilesDir() + "/hola.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(fileDir), "ISO-8859-1"));
【问题讨论】:
-
使用 AssetManager 访问 assets 文件夹中的文件
AssetManager am = context.getAssets(); InputStream is = am.open("hola.txt"); -
资产不是文件。它们在您的 APK 中,您可以通过 AssetManager API 访问它们
标签: java android file bufferedreader inputstreamreader