Tried running the code with a personal file and displayed the most frequent bytes separated by spaces but not verifying for some reason.
package com.codegym.task.task18.task1803;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/*
Most frequent bytes
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
ArrayList<Integer> list = new ArrayList<>();
ArrayList<Integer> sort = new ArrayList<>();
HashMap<Integer, Integer> map = new HashMap<>();
FileInputStream stream = new FileInputStream(s);
while(stream.available() > 0)
{
int data = stream.read();
list.add(data);
}
stream.close();
int max = 0;
for(int i = 0; i < list.size(); i++)
{
map.put(list.get(i), 0);
for(int j = 1; j < list.size(); j++)
{
if(list.get(i) == list.get(j))
{
map.replace(list.get(i), map.get(list.get(i)) + 1);
}
}
}
for (Map.Entry<Integer, Integer> entry: map.entrySet()) {
if(entry.getValue() > max)
{
max = entry.getValue();
}
}
for (Map.Entry<Integer, Integer> entry: map.entrySet())
{
if(entry.getValue().equals(max))
{
sort.add(entry.getKey());
}
}
for(int i : sort)
{
System.out.print(i + " ");
}
}
}