Android资源txt文件的路径

时间:2011-01-25 02:08:40

标签: android file path assets

我在做:

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

在Android项目中有很多变化。在运行时,我得到一个文件未找到异常。该文件在assets文件夹中存在且正确,因此我的路径必定是错误的。

我需要的绝对路径是什么?

6 个答案:

答案 0 :(得分:44)

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

尝试将上述内容与FileDescriptors一起使用。似乎是我发现收集资产路径的最简单方法。

答案 1 :(得分:19)

    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;
    }

答案 2 :(得分:3)

你能用

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

答案 3 :(得分:3)

它没有读取它,因为assets文件夹中的所有资源都被压缩,尝试将其扩展名更改为.mp3然后读取它,这应该阻止它被压缩。

答案 4 :(得分:2)

我发现如果您使用像Eclipse这样的IDE,您可能需要清理 - 或删除bin目录中的API。在进行构建时,似乎资产没有得到更新。

答案 5 :(得分:1)

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