Если вам просто нужно прочитать файл, вы можете поместить его в папку assets или res / raw и прочитать из них, используя context.getAssets().open("filename") or context.getResources().openRawResource(R.raw.resourceName)
, чтобы получить входные потоки, а затем, используя BufferedReader(new InputStreamReader(fileStream))
, получить читатель. Если нет, этот пост должен иметь ответ, чтобы вы могли читать из другой папки.
Однако, если вы хотите записать в него, одним из способов является использование спецификаций приложения c внутренних файлов , к которым можно получить доступ с помощью
File file = new File(context.getFilesDir(), filename);
Но сначала вам нужно будет создать файл history.txt, используя file.createNewFile()
, и заполнить его всем, что вы хотели, потому что он не будет существовать при первом обращении к нему. После этого все должно быть хорошо, хотя. Надеюсь, это поможет.
Редактировать:
Вот пример кода для чтения / записи во внутренний файл
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);//Or use Log.d(line);
}
} catch (IOException e) {
e.printStackTrace();
}
и
public void write_score(int ns) throws IOException {
File file = new File(context.getFilesDir(), "history.txt");
BufferedWriter w = new BufferedWriter(new FileWriter(file, true));//true makes it append
w.write(String.valueOf(ns) + ",");
w.close();
}