Без метода isNumeric выкидывает NumberFormatException, а с ним выводит только число 10, хотя когда я вывожу массив строк numbers мне показывает все числа правильно.
package com.javarush.task.task13.task1326;
/*
Сортировка четных чисел из файла
*/
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream inputStream = new FileInputStream(reader.readLine());
ArrayList<Integer> arrayList = new ArrayList<Integer>();
StringBuilder stringBuilder = new StringBuilder();
char ch;
while(inputStream.available() > 0){
stringBuilder.append((char)inputStream.read());
}
String[]numbers=stringBuilder.toString().split("\n");
int a;
for (int i = 0; i < numbers.length; i++) {
if(isNumeric(numbers[i])){
a = Integer.parseInt(numbers[i]);
arrayList.add(a);
}
}
Collections.sort(arrayList);
for (int b: arrayList
) {
System.out.println(b);
}
inputStream.close();
reader.close();
}
public static boolean isNumeric(String str)
{
try
{
Integer d = Integer.parseInt(str);
}
catch(NumberFormatException nfe)
{
return false;
}
return true;
}
}