Сделал решение, отличное от большинства. Все умные люди через map, а я по-своему) почему-то не пропускает по 4 пункту, хотя там изначально они выводятся по возрастанию кода ASCII, подскажите, в чём я виноват?
package com.javarush.task.task18.task1821;
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
FileInputStream fileInputStream = new FileInputStream(args[0]);
String s = "";
Character c;
Integer[] array = new Integer[128];
for (int i = 0; i < array.length; i++) {
array[i] = 0;
}
while (fileInputStream.available() > 0) {
c = (char) fileInputStream.read();
s = s + c;
}
char[] c1 = s.toCharArray();
for (int i = 0; i < c1.length; i++) {
array[c1[i]] = array[c1[i]] + 1;
}
for (int i = 32; i <= 127; i++) {
if (array[i] > 0) {
c = (char) i;
System.out.print(c + " ");
System.out.println(array[i]);
}
}
fileInputStream.close();
}
}