Я сделал небольшую программу для обучения словарного запаса. В начале он читает все воки из текстового файла. Моя проблема сейчас в том, что когда программа закрывается, новый уровень обучения не сохраняется. Я мог бы просто переопределить весь текст, но изменилась бы только каждая третья строка, поэтому я спросил себя, возможно ли изменить только каждую третью строку.
Код показывает только то, как я читаю файл
try {
FileInputStream fstream = new FileInputStream("src/trainer/textfile.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null) {
neu.add(strLine, br.readLine(), Integer.parseInt(br.readLine()));
}
in.close();
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
}
Так я добавляю строки, но это все в курсе.
PrintWriter writer;
try {
System.out.println("hi");
writer = new PrintWriter(new FileWriter("src/trainer/textfile.txt", true));
for (int i = 0; i < neu.getKarten().length; i++) {
writer.write("\n" + neu.getKarten()[i].getDeutsch() + "\n");
writer.write(neu.getKarten()[i].getEnglisch() + "\n");
writer.write(Integer.toString(neu.getKarten()[i].getLernlevel()) + "");
}
writer.close();
} catch (FileNotFoundException | UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
TXT-файл выглядит примерно так:
Baum
дерево
0
Маус
мышь
2