Проблема конкретно с
Программа должна записать абсолютно все введенные строки (включая "exit") в файл, каждую строчку с новой строки
всё так и есть, но валидацию не проходит
package com.javarush.task.task13.task1319;
import java.io.*;
/*
Писатель в файл с консоли
*/
public class Solution {
public static void main(String[] args) throws IOException {
boolean x = true;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter writer = new BufferedWriter(new FileWriter("c:/out.txt"));
String s;
while (x) {
s = reader.readLine();
writer.write(s);
writer.newLine();
if ((s.equals("exit"))) {
x = false;
}
}
reader.close();
writer.close();
}
}
package com.javarush.task.task13.task1319;
import java.io.*;
/*
Писатель в файл с консоли
*/
public class Solution {
public static void main(String[] args) throws IOException {
boolean x = true;
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter writer = new BufferedWriter(new FileWriter("c:/out.txt"))) {
String s;
while (x) {
s = reader.readLine();
writer.write(s + "\n");
if((s.equals("exit"))){
x = false;
}
}
reader.close();
writer.flush();
}
}
}
Зачем try? Тем более без catchUPD Это называется try with resources, и эта штука сама автоматом закрывает потоки. К этому претензий нет 2. Зачем flush? и где close? 3. Не уверен насчет \r\n. У меня просто \n было. Можно еще использовать метод newLine()