1. Проверял своё решение
2. Проверял regexp тут: regex101
3. Прошёлся по задачам, где коллегам давали примеры, на которых решение не работает - проходит
P.S.
В финальном решении запись во второй файл перенёс в ветку if (т.е., если полученная строка непуста, то только тогда пишем данные в файл)
Что я упустил?
package com.javarush.task.task19.task1925;
/*
Длинные слова
*/
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader(args[0]));
BufferedWriter writer = new BufferedWriter(new FileWriter(args[1]))) {
Pattern pattern = Pattern.compile("[^\\s]{7,}");
String line, resultLine = "";
while ((line = reader.readLine()) != null) {
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {resultLine = resultLine + matcher.group() + ",";
}
}
if (resultLine.length() > 0){
resultLine = resultLine.substring(1, resultLine.length() - 1);
writer.write(resultLine);
}
} catch (IOException e) {e.printStackTrace();}
}
}