Расшифруйте, пожалуйста, что делает блок кода ниже (из решения). Я не уверен, что вообще правильно понимаю в данном случае. Хотя бы без try. int[] byteCountArray = new int[256]; try (FileInputStream fileInputStream = new FileInputStream(fileName)) { while (fileInputStream.available() > 0) { byteCountArray[fileInputStream.read()] += 1; } }