Android: FileReader неожиданно выбрасывает FileNotFoundException - PullRequest
0 голосов
/ 28 марта 2011

Итак, я неожиданно получил исключение 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.У меня есть опыт работы с парой других языков, но ява - это немного другой тип монстров для меня.Любая помощь будет принята с благодарностью!

1 Ответ

3 голосов
/ 28 марта 2011

openFileInput() и new FileReader() не принимают один и тот же параметр.

openFileInput("file.txt") эквивалентно new FileReader(new File(getFilesDir(), "file.txt")).

...