Я разрабатываю небольшую игру на данный момент (Android-приложение) и хочу сохранить свои рекорды в .txt-файл, потому что, если бы я сохранял их только в списке, список был бы пуст каждый раз, когда я запускаю приложение новый. Для java-программ вообще для меня это не проблема, потому что FileWriter создает .txt в папке программы. Если я сделаю это в Android, я получаю (конечно) ошибку, что он не может создать файл.
Итак, как мне указать FileWriter, где сохранить файл и где я должен его сохранить? Удаляет ли FileWriter существующий файл и создает новый файл с тем же именем, если имя файла уже существует, например режим «MODE_PRIVATE» из FileOutput?
Я знаю, что мог бы использовать FileOutput/InputStream для сохранения файла во внутреннем хранилище, но FileOutput просто принимает байты (что не проблема с методом .getBytes()), но я не могу найти способ преобразовать байты обратно в строки, когда я хочу их прочитать.
(Прошу прощения за любые грамматические ошибки, так как английский не мой родной язык)
ОБНОВЛЕНИЕ:
Сначала большое спасибо за помощь до сих пор. Но мне все еще нужна конкретная помощь. Вот что я хочу сделать: каждый раз, когда моя игра заканчивается, я переключаюсь на действие «Очки» и даю ему набранные очки. В очках-активности я помещаю очки в список и записываю этот список в файл во внутреннюю память. В Highscores-Activity я хочу прочитать этот файл и поместить содержимое файла в список, чтобы распечатать его на экране с помощью ListView. Это код для записи файла:
ArrayList<Integer> highscoreListe = new ArrayList<Integer>();
punkte = getIntent().getExtras().getInt("Punkte");
public void writeToExternalStoragePublic() throws IOException
{
String filename = "highscores.txt";
FileOutputStream fos= null;
OutputStreamWriter osw = null;
fos= openFileOutput(filename,Context.MODE_PRIVATE);
osw = new OutputStreamWriter(fos);
for(Integer score : highscoreListe)
{
osw.write(score);
osw.append(System.getProperty("line.separator"));
}
osw.close();
fos.close();
}
Я прочитал много вопросов об этом в stackoverflow, но я до сих пор не знаю, как читать этот файл, чтобы поместить для каждой строки в файл новую строку или int в список. Надеюсь, вы понимаете, что я хочу сделать.