Добрый день
прошу подсказать в чем может быть дело
решил задачу 2 способами - через исключения и через регулярки, в обоих случаях - все работает верно, но программа уходит в завис
не могу понять почему
package com.javarush.task.task19.task1908;
/*
Выделяем числа
*/
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) {
Pattern pattern = null;
Matcher matcher = null;
List<Integer> list = new ArrayList<>();
BufferedReader bufferedReader = null;
FileReader fileReader = null;
FileWriter fileWriter = null;
String fileName1 = null;
String fileName2 = null;
String data = "";
String [] strings = null;
int x = 0;
try{
bufferedReader = new BufferedReader(new InputStreamReader(System.in));
fileName1 = bufferedReader.readLine();
fileName2 = bufferedReader.readLine();
fileReader = new FileReader(fileName1);
fileWriter = new FileWriter(fileName2);
while ((x=fileReader.read())!=-1){
list.add(x);
}
for (int i : list){
data+=(char)i;
}
strings = data.split(" ");
for (String str : strings){
if (str.matches("\\d+"))
fileWriter.write(str+ " ");
}
}catch (IOException e){
e.printStackTrace();
}
finally {
try {
bufferedReader.close();
fileReader.close();
fileWriter.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
}