(С потоками все понятно, закрывать их умею)
package com.javarush.task.task18.task1821;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
/*
Встречаемость символов
*/
public class Solution {
public static void main(String[] args) throws IOException {
FileInputStream fileReader = new FileInputStream(args[0]);
int count = 0;
int bubble = 0;
boolean isSorted = false;
int[] array = new int[fileReader.available()];
while(fileReader.available() > 0){
for (int c = 0; c < array.length; c++) {
array[c] = fileReader.read();
}
System.out.println(Arrays.toString(array));
while (!isSorted)
{
isSorted = true;
for (int i = 0; i < array.length- 1; i++)
{
if (array[i] > array[i + 1])
{
isSorted = false;
bubble = array[i];
array[i] = array[i + 1];
array[i + 1] = bubble;
}
}
}
for (int i = 0; i < array.length; i++)
{
for (int j = 0; j < array.length; j++) {
if (array[i] == array[j]) count++;
}
System.out.println((char) array[i] + " " + count);
count = 0;
}
}
}
}
/*
C:\Users\ilyac\Desktop\123.txt*/