Прочитал много комментариев к задаче, плюс просмотрел вопросы от других участников, но так и не понял, что этому валидатору не нравится, а объяснить он толком не может.
Как я понимаю могут быть несколько строк в файле - хорошо - читаем по строчки
Файл 1 и 2 может быть один и тот же файл - хорошо - использую StringBuffer
В слове могут быть не только буквы - хорошо - регулярной вырежу их replaceAll("\\p{Punct}|\\d+", "")
Но все равно не хочет принимать.
Что я не правильно делаю? Готовое решение брать не хочу, хочу разобраться.
Спасибо
package com.javarush.task.task19.task1925;
import java.io.*;
import java.util.ArrayList;
/*
Длинные слова
*/
//C:\Users\egaitsuk\Desktop\File1.txt
//C:\Users\egaitsuk\Desktop\File.txt
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(args[0]));
BufferedWriter writer = new BufferedWriter(new FileWriter(args[1]));
StringBuffer buffer = new StringBuffer();
while (reader.ready()) {
String line = reader.readLine();
String[] array = line.split(" ");
for (int i = 0; i < array.length; i++) {
// String newWord = array[i].replaceAll("\\p{Punct}|\\d+", "");
if (array[i].length() > 6) {
buffer.append(array[i]);
if (reader.ready()) {
buffer.append(",");
}
}
}
}
writer.write(String.valueOf(buffer));
reader.close();
writer.close();
}
}