资产txt文件的Androidpath

我正在做:

FileReader fin = new FileReader("file:///android_asset/myFile.txt");

在一个Android项目和许多变化。 在运行时我得到一个文件没有发现exception。 该文件存在,并在资产文件夹中正确,所以我的path必须是错误的。

我需要什么绝对path?

 AssetFileDescriptor descriptor = getAssets().openFd("myfile.txt"); FileReader reader = new FileReader(descriptor.getFileDescriptor()); 

尝试使用上面的FileDescriptors。 似乎是我发现收集资产path的最安全的方式。

  InputStream is = getResources().getAssets().open("terms.txt"); String textfile = convertStreamToString(is); public static String convertStreamToString(InputStream is) throws IOException { Writer writer = new StringWriter(); char[] buffer = new char[2048]; try { Reader reader = new BufferedReader(new InputStreamReader(is, "UTF-8")); int n; while ((n = reader.read(buffer)) != -1) { writer.write(buffer, 0, n); } } finally { is.close(); } String text = writer.toString(); return text; } 

它不会读取它,因为资产文件夹中的所有资产都是压缩的,请尝试将其扩展名更改为.mp3,然后将其读入,以免压缩。

你可以使用类似的东西吗?

  try { BufferedReader br = new BufferedReader(new InputStreamReader(context.getAssets().open("fileName.txt"))); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 

我发现,如果你使用Eclipse这样的IDE,你可能需要做一个清理 – 或者删除bin目录中的API。 似乎在构build时资产没有得到更新。

 AssetManager am = context.getAssets(); InputStream fs = am.open("myFile.txt");