所以我意外地收到了FileNotFoundException。正如您所看到的,在我调用FileReader之前不久,我调用了FileInputStream,它工作正常。我已经尝试将FileReader放在自己的Try / Catch子句中,但是会收到相同的结果。我已经从这个块中消除了我的问题中不必要的大部分行。 (最后我也称LineNumberReader,虽然我把它从块中删除了,因为我甚至没有那么远。)
String FILENAME = "file.txt";
try {
byte[] buffer = new byte[128];
String toStr = new String();
TextView view = (TextView)findViewById(R.id.textview);
FileInputStream fis = openFileInput(FILENAME); /////File is found successfully here/////
fis.read(buffer);
fis.close();
toStr = new String(buffer);
view.append(toStr);
FileReader fr = new FileReader(FILENAME); /////FileNotFoundExceptionThrownHere/////
/////do stuff here/////
fr.close();
}
catch (FileNotFoundException e) {
TextView view = (TextView)findViewById(R.id.textview);
view.append("file not found!");
}
catch (IOException e) {
TextView view = (TextView)findViewById(R.id.textview);
view.append("IO error!");
}
另外,在回答我在Java方面仍然有点新手时请记住。我有其他几种语言的经验,但java对我来说有点不同的怪物。任何帮助将非常感谢!
答案 0 :(得分:3)
openFileInput()
和new FileReader()
不会使用相同的参数。
openFileInput("file.txt")
相当于new FileReader(new File(getFilesDir(), "file.txt"))
。