#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?