Пустая строка перед текстом в файле

Кратко опишу как в теории должна работать программа. Пользователь может ввести неограниченное количество строк текста, но при вводе &save&, файл сохраняется и закрывается, а цикл прервается. Все работает, но в текстовом документе перед введенным текстом появляется пробел. Вот часть кода:

BufferedWriter writer = new BufferedWriter(new FileWriter("text.txt"));

while(true) {
    String Writed = scanner.nextLine();
    if(Writed.equals("&save&") {
        writer.flush();
        writer.close();
        break;
    }
    writer.write(Writed);
    writer.newLine();
}

Если ввести:

42
42
&save&

То в файле будет:


42
42

Ответы (1 шт):

Автор решения: Дмитрий

Попробуйте так:

final String fileName="text.txt", breakLine = "&save&";        
try (final Scanner scanner = new Scanner(System.in)) {
    final StringBuilder sb = new StringBuilder();
    String inputLine;
    while (!breakLine.equals(inputLine = scanner.nextLine())) sb.append(inputLine).append("\r\n");
    Files.write(Paths.get(fileName), sb.toString().getBytes());            
}
→ Ссылка