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 に答える