Здравствуйте, немного не понимаю, что я мог упустить, я учел, что слово может быть разделено символом перехода на новую строку. Перед удалением последней запятой проверку на наличие запятой делать нет смысла, так как если строка не пустая, там обязательно будет запятая. Результат ровно тот, что в условии задачи, все записывается корректно. Что я упускаю?
package com.javarush.task.task19.task1925;
/*
Длинные слова
*/
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader bufferedReader = new BufferedReader(new FileReader(args[0]));
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(args[1]));
String prepare = ""; // собираю в prepare все строки из файла, чтобы учесть слова, разделенные пробелами
while (bufferedReader.ready()){
String s = bufferedReader.readLine();
prepare = prepare + s;
}
String prepare1 = ""; //собираю в prepare1 все слова, длина которых больше 6
String[] array = prepare.split(",");
for(String x: array){
if (x.toCharArray().length>6){
prepare1 = prepare1 + x + ",";
}
}
String result = "";
if (prepare1.length()>0){
result = prepare1.substring(0, prepare1.length()-1); } // убираю последнией пробел в подготовленном файле
bufferedWriter.write(result);
bufferedReader.close();
bufferedWriter.close();
}
}