1

我正在测试一些东西。

我在 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 类,没有上下文。如果我加上上下文,代码结构会有很大的变化。

谢谢。

4

2 回答 2

1

您必须阅读以下资产

AssetManager mAsset = context.getAssets();

InputStream is = mAsset.open("test.txt");
于 2012-11-14T11:27:11.957 回答
1

您可以通过这种方式从assest文件夹中获取路径...试试这个...

File file = new File("file:///assets/test.txt");

而不是这个..

File file = new File("/assets/test.txt");
于 2012-11-14T11:37:26.263 回答