0

所以我意外地收到了 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 对我来说有点不同。任何帮助将不胜感激!

4

1 回答 1

3

openFileInput()并且new FileReader()不要采用相同的参数。

openFileInput("file.txt")相当于new FileReader(new File(getFilesDir(), "file.txt"))

于 2011-03-27T23:12:46.550 回答