Ход своих мыслей постарался описать в комментариях. Вроде как должно работать, но что-то не так🤔
public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); //считываем имя файла
        String s = reader.readLine(); //сохраняем его в переменную s
        ArrayList <Integer> a = new ArrayList<>(); //список для хранения байтов
        FileInputStream inputStream = new FileInputStream(s); //создаём поток ввода
        while(inputStream.available() > 0){ //считываем пока есть байты
            int data = inputStream.read(); //присваиваем их переменной data
            a.add(data); //добавляем байты в список
        }
        inputStream.close(); //закрываем поток ввода
        ArrayList <Integer> n = new ArrayList<>(); //список для хранения повторяющихся байтов
        int max = 0; //переменная для хранения максимального количества повторов
        int count = 0; //переменная для счетчика повторов
        for (Integer x: a) { //перечисляем список с байтами
            for(Integer y: a){ //то же самое для поиска повторов
                if(x == y){ //ищем повторы
                    count++; //считаем повторы
                }
            }
            if(count == max){ //если количество повторов равно максимальному
                n.add(x); //просто добавляем в список для повторяющихся байтов
            }
            if(count > max){ // если больше максимального
                max = count; //меняем значение max
                n.clear(); //очищаем список от уже не верных байтов
                n.add(x); //добавляем нужные
            }

        }
        for(Integer x: n){ //берём список с повторами
            System.out.print(x + " "); //выводим через пробел
        }

    }
}