Я хочу изменить оценку пользователя, но вместо того, чтобы переписывать файл с новыми оценками, он просто делает пустой файл. Строки записываются следующим образом: «имя-пароль-выиг-лоссы-связи»PrintWriter пишет пустой файл
try {
BufferedReader br = new BufferedReader(new FileReader("users.txt"));
PrintWriter pw = new PrintWriter(new FileWriter("users.txt"));
String[] tab = null;
String zlepek = "";
while(br.readLine()!=null) {
String line = br.readLine();
tab = line.split("-");
int countLoss = Integer.parseInt(tab[3]+plusLoss);
int countWin = Integer.parseInt(tab[2]+plusWin);
int countTie = Integer.parseInt(tab[4]+plusTie);
if(tab[0].equals(loginUser.user)) {
String newScore = (tab[0] + "-" + tab[1] + "-" + countWin + "-" + countLoss + "-" + countTie + "\n");
zlepek = zlepek+newScore;
} else {
String oldScore = (tab[0] + "-" + tab[1] + "-" + tab[2] + "-" + tab[3] + "-" + tab[4] + "\n");
zlepek = zlepek+oldScore;
}
}
pw.print(zlepek);
pw.close();
br.close();
plusWin = 0;
plusLoss = 0;
plusTie = 0;
} catch(IOException e) {}
Любая помощь приветствуется.
я заменил свой код с вашим, но файл все еще пуст после я пишу Это. – n3onis
Обновлен ответ. Есть ли у вас текст во входном файле? – Saravana
Сначала я регистрирую пользователя и сохраняю его в файле "users.txt". Строка выглядит так: «username-password-wins-loss-ties» (user-pass-0-0-0). Затем я играю в игру, и этот код должен поместить все измененные и неизменные строки в строку «zlepek». В конце, он должен вставить все, что находится в строке «zlepek», в файл, перезаписывая существующий текст. Вместо этого он просто заменяет все пустым файлом. – n3onis