задача - копипаст предыдущей. Но в этот раз никак не хочет проходить валидацию по 3му пункту. не могу понять почему...
package com.javarush.task.task18.task1804;
/*
Самые редкие байты
Ввести с консоли имя файла.
Найти байт или байты с минимальным количеством повторов.
Вывести их на экран через пробел.
Закрыть поток ввода-вывода.
Требования:
1. Программа должна считывать имя файла с консоли.
2. Для чтения из файла используй поток FileInputStream.
3. В консоль через пробел должны выводиться все байты из файла с минимальным количеством повторов.
4. Данные в консоль должны выводится в одну строку.
5. Поток чтения из файла должен быть закрыт.
*/
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
FileInputStream inputStream = new FileInputStream(fileName);
int[] byteArr = new int[256];
while (inputStream.available() > 0) {
byteArr[inputStream.read()]++;
}
int minFreq = Integer.MAX_VALUE;
for (int i = 0; i < byteArr.length; i++) {
if (byteArr[i] < minFreq) {
minFreq = byteArr[i];
}
}
for (int i = 0; i < byteArr.length; i++) {
if (byteArr[i] == minFreq) {
System.out.print (i + " ");
}
}
inputStream.close();
}
}