Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';在android源代码中找不到自己创建的文件路径_Java_Android - Fatal编程技术网

Java Can';在android源代码中找不到自己创建的文件路径

Java Can';在android源代码中找不到自己创建的文件路径,java,android,Java,Android,我在测试一些东西 我在packages/apps/Camera/中创建了assets文件夹,并在文件夹中添加了test.txt文件 但是,当我根据下面的代码片段在onCreate()方法中访问该文件时,我发现我无法获取该文件 File file = new File("/assets/test.txt"); BufferedReader reader = null; try { Log.v("jerikc","read the file");

我在测试一些东西

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


谢谢。

您必须阅读以下资产

AssetManager mAsset = context.getAssets();

InputStream is = mAsset.open("test.txt");

您可以通过以下方式从assest文件夹中获取路径…请尝试此

File file = new File("file:///assets/test.txt");
而不是这个

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

. 也许会帮助你我想你错过了比赛。在路径“/assets/test.txt”中,试试这个“/assets/test.txt”。这里的点表示您当前的工作目录。但是我的测试类中没有上下文。因为我的测试是一个Util,所以没有上下文。所以我不能使用getAssets()方法。@JinChen我试过了,但没用。对不起,我的问题不清楚。我不能在我的项目中使用上下文,它只是一个Util类。非常感谢。还有其他解决方案吗?我不认为你可以在没有上下文的情况下访问资产,你可以在函数中始终将上下文作为参数传递,但如何解释当我独立创建一个android项目,而不是在android源代码项目中创建时它是可以的。你的意思是你正在创建一个外部库?不,它只是一个文件,不是外部库。与File File=new File(“/assets/test.txt”)相同;