Ошибка вылетает если я не вызову метод flush(). Вылетает на строчке writer.close(). Когда поток закрываю он же должен все содержимое буфера прокинуть в файл, почему нужно принудительно его заставлять до закрытия?
public class Solution {
public static void main(String[] args) throws IOException {
FileReader fileReader = new FileReader(args[0]);
FileWriter fileWriter = new FileWriter(args[1]);
BufferedReader reader = new BufferedReader(fileReader);
BufferedWriter writer = new BufferedWriter(fileWriter);
StringBuilder string = new StringBuilder();
String[] strings;
while(reader.ready()) {
strings = reader.readLine().split(" ");
for(int i = 0; i < strings.length; ++i)
if(strings[i].length() > 6)
string.append(strings[i] + ",");
}
string.delete(string.length()-1, string.length());
writer.write(string.toString());
//writer.flush();
fileReader.close();
fileWriter.close();
reader.close();
writer.close();
}
}