Я работаю над простой системой сохранения для своей игры, которая включает в себя три метода, загрузку и сохранение.Как читать определенную строку с BufferedWriter
Это мой первый раз, когда я пытаюсь читать и писать в/из файла, поэтому я не уверен, правильно ли я делаю это, поэтому я прошу помощи.
Я хочу, чтобы это сделать:
Когда игра начинается, инициализации называется. Если сохранение файла не существует, оно создается, если это так, вызывается загрузка.
Позже в игре, сохранить будет называться, и переменные будут записаны в файл, строка за строкой (я использую два в этом примере.)
Однако я застрял на функцию загрузки , Я понятия не имею, что происходит, когда я нахожусь дальше. Вот почему я спрашиваю, можно ли выбрать определенную строку из файла и изменить переменную на эту конкретную строку.
Вот мой код, как я уже сказал, я понятия не имею, правильно ли я делаю это, поэтому помощь приветствуется.
private File saves = new File("saves.txt");
private void init(){
PrintWriter pw = null;
if(!saves.exists()){
try {
pw = new PrintWriter(new File("saves.txt"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}else{
try {
load();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void save(){
PrintWriter pw = null;
try {
pw = new PrintWriter(new FileOutputStream(new File("saves.txt"), true));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
pw.println(player.coinBank);
pw.println(player.ammo);
pw.close();
}
public void load() throws IOException{
BufferedReader br = new BufferedReader(new FileReader(saves));
String line;
while ((line = br.readLine()) != null) {
}
}
Я думал, может быть, имея массив, разбор строки из текстового файла в целое, поместив его в массив, а затем переменные равны значения из массива.
Для этого я могу использовать базу данных на основе файлов. Как derby: http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html это будет вариант? – d0x
Возможно, я заглядываю в него. Благодарю. –