Android Java从res / raw读取文本文件,找不到文件错误

时间:2016-04-27 08:14:18

标签: java android file

我正在尝试读取存储在 res / raw 下的文本文件。我无法解释为什么文件无法打开并将内容读取到textArea“usersTextArea”。系统只输出System.out.println("file could not open");。我不认为文件路径不正确。有谁知道可能导致问题的原因是什么?谢谢。

public void readFile()
{        
    String path = "android.resource://" + getPackageName() + "/" + R.raw.users;

    try
    {
        Scanner s = new Scanner(new File(path));

        while (scan.hasNext())
        {
            String data = scan.next();
            usersTextArea.append(data);
        }
        scan.close();
    }
    catch(Exception error)
    {
        System.out.println("file could not open");
    }
}

3 个答案:

答案 0 :(得分:1)

您可以访问以下原始资源:

getResources().openRawResource(R.raw.users)

答案 1 :(得分:0)

你应该尝试类似的东西:

public void readFile() {
    final InputStream input = getResources().openRawResource(R.raw.users);
    final Scanner scanner = new Scanner(input);
    try {
        // read the file
    } finally {
        // don't forget to close the resources, once you are done with them
        scanner.close();
        input.close();
    }
}

答案 2 :(得分:-1)

在清单文件中提供读/写权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

然后你可以阅读res / raw文件