The problem for me is that when I enter the file name and hit enter the console just continues to read until I stop the program. I cannot find anything in my code that would make this happen as I only user the reader object once. I'm stumped.
package com.codegym.task.task13.task1326;
/*
Sorting even numbers from a file
*/
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
public class Solution {
public static void main(String[] args) throws IOException {
//write your code here
ArrayList<Integer> a = new ArrayList<Integer>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String f = reader.readLine();
FileInputStream input = new FileInputStream(f);
BufferedReader file = new BufferedReader(new InputStreamReader(input));
try {
Integer s = 0;
while (s != null) {
try {
s = Integer.parseInt(file.readLine());
a.add(s);
}
catch (NumberFormatException e) {}
}
//reader.close();
file.close();
input.close();
}
catch (FileNotFoundException e) {
System.out.println("File not found");
}
Iterator itr = a.iterator();
while (itr.hasNext()) {
Integer i = (Integer)itr.next();
if(i % 2 != 0) {
itr.remove();
}
}
Collections.sort(a);
for(Integer i : a) {
System.out.println(i);
}
}
}