Решил, но вопрос почему не дублирует в правильном решение. Пожалуйста, ответьте. Жирным не понятно?!! BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String fileName = reader.readLine(); int[] byteCountArray = new int[256]; try (FileInputStream fileInputStream = new FileInputStream(fileName)) { while (fileInputStream.available() > 0) { byteCountArray[fileInputStream.read()] += 1; } } int maxCount = 0; for (int byteCount : byteCountArray) { if (byteCount > maxCount) maxCount = byteCount; } ArrayList<Integer> resultList = new ArrayList<>(); for (int i = 0; i < byteCountArray.length; i++) { if (byteCountArray[i] == maxCount) resultList.add(i); //здесь по идеи должно быть за двоение одинаковых байтов? } for (Integer resultItem : resultList) System.out.print(resultItem + " ");