У меня проблема с классом PrintWriter. Я пытаюсь написать длинный текст в файле. Сначала у меня была проблема перезаписи. Каждый раз, когда я запускаю его, там видно только последнее слово. Затем я добавил FileWriter, но на этот раз он не перезаписывает файл всякий раз, когда я запускаю его снова.PrintWriter перезаписывает каждое слово или не перезаписывает весь файл
private static void storyTeller(String wordsToWrite) throws IOException {
Scanner scan = new Scanner(wordsToWrite);
PrintWriter out = new PrintWriter(new FileWriter(outFile, true));
String temp;
while (scan.hasNext()) {
temp = scan.next();
if (counter == 0) {
out.print(temp);
System.out.print(temp);
}
counter = counter + temp.length() + 1;
if (counter > 80) {
System.out.println();
out.println();
System.out.print(temp);
out.print(temp);
counter = temp.length() + 1;
}
else{
System.out.print(" " + temp);
out.print(" " + temp);
}
}
scan.close();
out.close();
}
Если я не добавить параметр FileWriter в PrintWriter, в Outfile есть только одно слово (последнее слово). Если я добавлю «новый FileWriter (outFile, true)», как код выше, на этот раз он не перезапишет, когда я снова запустил программу.
Это один, что я получаю с FileWriter, но мне нужно перезаписать каждый раз, когда я запустить программу
Это то, что я получаю, когда я удалить FileWriter для перезаписи
Спасибо.
Измените второй аргумент на конструктор FileWriter на false (он добавляется). –
Hi Elliot. Спасибо за ответ. На этот раз он пишет только последнее слово. Как и фотография ниже. Мне нужно записать в файл, как если бы он записывался на консоль с использованием метода System.out.print(). –
Итак, в чем проблема? Что вы хотите сделать? – RealSkeptic