Помогите, пожалуйста, разобраться
package com.javarush.task.task13.task1326;
/*
Сортировка четных чисел из файла
*/
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import static java.util.Collections.*;
public class Solution {
public static void main(String[] args) throws IOException {
InputStream inputStream = null;
BufferedInputStream buffer = null;
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String fname = r.readLine();
ArrayList<Integer> arrayList = new ArrayList<>();
try{
inputStream = new FileInputStream(fname);
buffer = new BufferedInputStream(inputStream);
//while (true)
while (buffer.available() > 0)
{
// int fnumber = Integer.parseInt(r.readLine());
int fnumber = (int)buffer.read();
arrayList.add(fnumber);
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally {
inputStream.close();
buffer.close();
r.close();
}
ArrayList<Integer> odd_num = new ArrayList<>();
ArrayList<Integer> even_num = new ArrayList<>();
for (int i = 0; i < arrayList.size(); i++)
{
if (arrayList.get(i) % 2 == 0)
//if (((arrayList.get(i) & 1) != 1))
{
even_num.add(arrayList.get(i));
}
else if (((arrayList.get(i) & 1) == 1))
{
odd_num.add(arrayList.get(i));
}
}
Collections.sort(even_num);
Collections.sort(odd_num);
for (int i = 0; i < even_num.size(); i++) {
if (even_num.get(i) != '\n')
System.out.print(even_num.get(i));
System.out.println();
}
}
}