Кодировка ANSI, UTF-8, результат одинаков. Файл- в Винде обычный .txt
package com.javarush.task.task19.task1908;
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String string1 = bufferedReader.readLine();
String string2 = bufferedReader.readLine();
BufferedReader fr = new BufferedReader(new FileReader(string1));
BufferedWriter fw = new BufferedWriter(new FileWriter(string2));
bufferedReader.close();
StringBuilder sb = new StringBuilder();
while (fr.ready()){
sb.append((char)fr.read());// сделали строку
}
// System.out.println(st);
String[] substr; // массив для слов
String del = "\\W"; // разделитель
substr = (sb.toString()).split(del); // делить строку, сделанную ранее по разделителю, и заполняем массив
for (int i=0; i<substr.length; i++){
if (substr[i].matches("\\b\\d+\\b")){ // если в массиве соавпдает число //Д, то печатаем
fw.write(substr[i]+" ");
System.out.println(substr[i]);
}
}
fr.close();
fw.close();
}
}