Java 缓冲读取器未读取
我知道这是在查找文件,因为数据输出的是正确的文件路径,但data2似乎是空的。我最好的猜测是它没有在找到文件Java 缓冲读取器未读取,java,android,file-io,Java,Android,File Io,我知道这是在查找文件,因为数据输出的是正确的文件路径,但data2似乎是空的。我最好的猜测是它没有在找到文件 private void monthlyInput() throws IOException { File inFile = new File(Environment.getExternalStorageDirectory ().getAbsolutePath(), "S050213.txt"); String data = inFi
private void monthlyInput() throws IOException {
File inFile = new File(Environment.getExternalStorageDirectory ().getAbsolutePath(), "S050213.txt");
String data = inFile.getAbsolutePath();
TextView testData = (TextView) findViewById(R.id.textView1);
testData.setText(data);
FileInputStream fInStream = new FileInputStream(inFile);
BufferedReader myReader = new BufferedReader(new InputStreamReader(fInStream));
String data2 = myReader.readLine();
TextView testData2 = (TextView) findViewById(R.id.textView2);
testData2.setText(data2);
myReader.close();
}
我想知道我哪里做错了,或者我是否已经接近我应该达到的程度。代码看起来不错。似乎是读取文件的问题。
你确定它被正确保存了吗。尝试将带有不同唯一名称的随机文本的文件手动放置在外部存储目录中,并尝试使用相同的代码读取该文件。是否引发异常?如果不存在,则文件可能存在,但为空。在读取之前,请检查文件是否存在
if(infle.exists())
则仅当if语句中添加了异常检查权限并转到else时才执行此操作,因此我假设这意味着存在异常。我已经在Manifest.xml中找到了,我需要做其他事情来获得许可吗?@Pragnani为什么?代码将抛出FileNotFoundException。检查exists()也不会添加任何内容。尝试在设备上放置不同的文本文件,读取结果良好。然后我删除了我需要的文件,并把它放回设备上,它现在可以正常读取了。仍然不确定问题出在哪里,但是谢谢你给我指出文件而不是代码。很抱歉打扰你,我还有一个问题。我是否可以指定从下载目录中读取文件,该目录与文件当前所在的目录相同?您可以尝试Environment.getExternalStoragePublicDirectory(Environment.directory\u downloads);
FileInputStream fInStream = new FileInputStream(inFile);