BufferedReader rea = new BufferedReader(new FileReader("points.txt"));
BufferedWriter writ = new BufferedWriter(new FileWriter("points.txt"));
ArrayList<String> top = new ArrayList<String>();
// checking if file is empty, so it enters imaginary players and scores
// if it is.
if (rea.readLine() == null) {
for (int i = 1; i < 6; i++) {
writ.write("Player" + i + "\t\t" + "99:99");
writ.newLine();
}
}
while ((readthis = rea.readLine()) != null) {
top.add(readthis);
}
Так что случается так, что даже если в моем файле «points.txt» уже есть некоторые встроенные игроки внутри, он по-прежнему возвращает true в том первом, если предложение, поэтому новые игроки печатают в файл. Но проблема в том, что когда я пытаюсь прочитать файл в течение некоторого предложения, он даже не проходит через него. Я проверил с System.out.println() и выяснил, что он возвращает null. Как он может вернуть значение null, даже если я видел, что он заполняет новые данные? Что я делаю неправильно? Я борюсь с этой проблемой уже около полутора часов, пробовал все, что знаю. Любая помощь очень ценится.BufferedReader возвращает значение null, даже если в файле есть текст
В первом цикле вы должны очистить свой 'writer' – nachokk
Это совет, который использует список top = new ArrayList (); вместо ArrayList top = new ArrayList (); –
ashokramcse
@ashokramcse также использует '<>' алмазный вывод, если он использует java 7 или выше! – nachokk