Ввести с консоли имя файла.
Найти байт или байты с максимальным количеством повторов.
Вывести их на экран через пробел.
Закрыть поток ввода-вывода.
Требования:
1. Программа должна считывать имя файла с консоли.
2. Для чтения из файла используй поток FileInputStream.
3. В консоль через пробел должны выводиться все байты из файла с максимальным количеством повторов.
4. Данные в консоль должны выводится в одну строку.
5. Поток чтения из файла должен быть закрыт.
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream inputStream = new FileInputStream(reader.readLine());
HashMap<Integer, Integer> map = new HashMap<>();
while (inputStream.available() > 0){
int symbol = inputStream.read();
if (map.containsKey(symbol)){
int count = map.get(symbol);
map.put(symbol, count++);
}
else map.put(symbol, 1);
}
inputStream.close();
reader.close();
if (map.size() <= 0){
return;
}
else {
int max = Collections.max(map.values());
for (HashMap.Entry<Integer, Integer> pair : map.entrySet()){
if (pair.getValue() == max){
System.out.print(pair.getKey() + " ");
}
}
}
}
}