На реальных файлах работает.
НО - регулярное выражение составлено так, что даже просто числа (без букв) тоже записываются во второй файл. Я пробовал составлять регулярку так, чтобы первый символ обязательно был буквой (а дальше уже могут идти и буквы и цифры), но тоже не принимает.
package com.javarush.task.task19.task1923;
import java.io.*;
import java.nio.Buffer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
Слова с цифрами
*/
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]));
//BufferedReader reader = new BufferedReader(new FileReader("C:\\Users\\11shk\\Desktop\\Программирование\\Java\\Фиксим баги.txt"));
//BufferedWriter writer = new BufferedWriter(new FileWriter("C:\\Users\\11shk\\Desktop\\Программирование\\Java\\Фиксим баги2.txt"));
while (reader.ready()) {
String readerString = reader.readLine();
String[] resultString = readerString.split("\\s");
for (String s : resultString) {
Pattern p = Pattern.compile("(\\D*\\d+\\D*)");
Matcher m = p.matcher(s);
while (m.find()) {
writer.write(m.group() + " ");
}
}
}
reader.close();
writer.close();
}
}