Hi, I can't pass the last requirement, could someone help me!
package fr.codegym.task.task18.task1803;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/*
Les octets les plus fréquents
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
String filename = buffer.readLine();
FileInputStream input = new FileInputStream(filename);
//Read byte from File
HashMap<Byte,Integer> infosByte = new HashMap<>();
while (input.available()>0){
byte data = (byte)input.read();
if (infosByte.containsKey(data)){
infosByte.put(data,infosByte.get(data)+1);
} else infosByte.put(data,1);
}
//identify the greatest frequency
ArrayList<Integer> frequencys = new ArrayList<Integer>(infosByte.values());
int max = frequencys.get(0);
for (int i = 1; i <frequencys.size(); i++){
if (frequencys.get(i)>max) max = frequencys.get(i);
}
//keep only the most frequent bytes on map
Iterator<Map.Entry<Byte, Integer>> itr = infosByte.entrySet().iterator();
while (itr.hasNext()){
Map.Entry<Byte,Integer> entry = itr.next();
if (entry.getValue() < max) itr.remove();
}
//display the most frequent byte on screen
for (Map.Entry<Byte,Integer> paire : infosByte.entrySet()){
System.out.print(paire.getKey()+" ");
}
//close input stream
buffer.close();
input.close();
}
}