Почитал помощь по этой задаче - в основном у всех проблема решается выведением байта один раз, а не несколько. Однако у меня изначально выводится только один байт для максимальных повторений, поэтому так просто проблема не решается
package com.javarush.task.task18.task1803;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
/*
Самые частые байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fis = new FileInputStream(reader.readLine());
ArrayList list = new ArrayList();
while (fis.available()>0) {
list.add(fis.read());
}
fis.close();
Collections.sort(list);
int max = 1;
int buff = 1;
for (int i = 1; i<list.size(); i++) {
if (list.get(i-1)==list.get(i)) {
buff++;
} else {
if (max<buff) {
max = buff;
buff = 1;
}
}
}
buff = 1;
for (int i = 1; i<list.size(); i++) {
if (list.get(i-1)==list.get(i)) {
buff++;
if (buff == max) {
System.out.print(list.get(i) + " ");
buff=1;
}
}
}
}
}