как это правильно сделать
package com.javarush.task.task18.task1821;
/*
Встречаемость символов
*/
import java.io.*;
import java.lang.reflect.Array;
import java.nio.Buffer;
import java.util.ArrayList;
import java.util.Collections;
public class Solution {
public static void main(String[] args) throws FileNotFoundException,IOException {
FileInputStream fileInputStream = new FileInputStream(args[0]);
ArrayList<Integer> list = new ArrayList<Integer>();
ArrayList<Integer> listnum = new ArrayList<Integer>();
while (fileInputStream.available()>0){
int a = fileInputStream.read();
list.add(a);
}
Collections.sort(list);
int count = 0;
for (int i = 1; i <list.size() ; i++) {
if(list.get(i)==list.get(i-1)){
count++;
list.remove(i-1);
}
else{
listnum.add(count);
count=0;
}
}
for (int i = 0; i <list.size() ; i++) {
System.out.println(list.get(i)+ listnum.get(i));
}
fileInputStream.close();
}
}