【发布时间】:2018-06-09 18:45:20
【问题描述】:
大家好,我在尝试读取 android java 中的文本文件时遇到了一个问题。
public String readFromFile(String filename)
{
String content = "";
try
{
File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) + "/MyApplication");
File file = new File(dir, filename);
Scanner scanner = new Scanner(file);
String line = "";
while(scanner.hasNextLine())
{
line = scanner.nextLine();
content += line + "\n";
}
scanner.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return content;
}
我尝试使用扫描仪和缓冲阅读器来提取内容
public List<String> readFromFile(String filename)
{
List<String> lines = new ArrayList<String>();
FileReader fileReader;
BufferedReader bufferedReader;
try
{
File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) + "MyApplication");
File file = new File(dir, filename);
fileReader = new FileReader(file);
bufferedReader = new BufferedReader(fileReader);
String line = bufferedReader.readLine();
while(line != null)
{
lines.add(line);
bufferedReader.readLine();
}
bufferedReader.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return lines;
}
但它们似乎都不起作用。这些函数只返回零,就好像文件是空的一样。此外,我没有收到任何错误消息,并且我仔细检查了路径。通常这些功能对我来说工作得很好,但我无法解决这个问题。
感谢您的帮助:)
编辑:如果发现问题。文件的权限或位置一切都很好,问题只是我放了
FileOutputStream fileOutputStream = new FileOutputStream(file)
在我调用 readFromFile() 方法之前的代码中。我认为因为 readFromFile() 方法返回的文件是空的。感谢您的回答!
【问题讨论】:
-
你给权限了吗?
-
是的,至少有权限 READ_EXTERNAL_STORAGE
标签: java android bufferedreader