Я тестил на тексте из интернета, вроде работало правильно.
package com.javarush.task.task18.task1821;
import java.io.FileInputStream;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
/*
Задача по алгоритмам
*/
public class Solution {
public static void main(String[] args) throws Exception {
FileInputStream inS = new FileInputStream(args[0]);
TreeMap<Integer, Integer> list = new TreeMap<>();
for(int i = 0; i<128; i++){
list.put(i, 0);
}
while(inS.available()>0){
int a = inS.read();
for(int i = 0; i<128;i++){
if(a==i){
list.put(a,list.get(a)+1);
}
}
}
for(Map.Entry<Integer, Integer> a : list.entrySet()){
System.out.println((char)((int)a.getKey())+" "+a.getValue());
}
inS.close();
}
}