Слова с цифрами В метод main первым параметром приходит имя файла1, вторым — файла2. Файл1 содержит строки со слов, разделенные пробелом. Записать через пробел в Файл2 все слова, которые содержат цифры, например, а1 или abc3d. Закрыть потоки. Требования: 1. Программа НЕ должна считывать данные с консоли. 2. Программа должна считывать содержимое первого файла (используй FileReader c конструктором String). 3. Поток чтения из файла (FileReader) должен быть закрыт. 4. Программа должна записывать во второй файл все слова из первого файла которые содержат цифры (используй FileWriter). 5. Поток записи в файл (FileWriter) должен быть закрыт.
public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new FileReader(args[0]));
        BufferedWriter writer = new BufferedWriter(new FileWriter(args[1]));
        String text= "";
        StringBuilder sb = new StringBuilder();
        ArrayList<String> list3 = new ArrayList<>();
        Pattern p = Pattern.compile("\\w\\d+\\w+");
        while ((text = reader.readLine())!=null){

            Matcher m = p.matcher(text);
            list3.add(text.substring(m.start(),m.end()));
        }

        for (String s: list3) {
            sb.append(s);
            sb.append("\\s");
        }
        writer.write(sb.toString());
        reader.close();
        writer.close();
    }