Прочитать файл с Android, каков ожидаемый путь?

#android

#Android

Вопрос:

Мне не повезло с этим методом, который в основном представляет собой hello world для печати содержимого файла в журнале Android cat.

   try {
            InputStream instream = openFileInput("inputFile.txt");
              InputStreamReader inputreader = new InputStreamReader(instream);
              BufferedReader buffreader = new BufferedReader(inputreader);
              String line;
              while (( line = buffreader.readLine()) != null) {
                System.out.println(line);
              }
            instream.close();
          } catch (java.io.FileNotFoundException e) {
            e.printStackTrace();
          }
  

Используя проект, созданный по умолчанию с помощью плагина Android Eclipse, в каком каталоге должен существовать этот файл? Какие-либо другие соображения?

Ответ №1:

Это попытается прочитать файл inputFile.txt из вашего внутреннего каталога данных приложения /data/data/your.application.package/ (и завершится неудачей, если он не существует):

 openFileInput("inputFile.txt");
  

Чтобы прочитать файл с SD-карты, вы бы сделали что-то вроде этого:

 new FileInputStream(Environement.getExternalStorageDirectory()
    .getAbsolutePath()   "/inputFile.txt")
  

Не забудьте установить разрешение SD-карты в своем манифесте, а затем:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  

Комментарии:

1. Спасибо за продолжение, я немного прочитал, и похоже, что я хочу использовать /res / raw, поскольку этот статический файл данных будет распространяться с приложением, а не создаваться им (таким образом, нет / data / directory)

Ответ №2:

Этот файл должен существовать в локальном каталоге приложений ‘data’. Этот файл уже существует? Вы ознакомились с документацией для ввода-вывода файлов на Android?