我正在尝试读取存储在 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");
}
}
答案 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文件