Проверил уже 100 раз, так и не понял, что валидатору не нравится
package com.javarush.task.task18.task1823;
import java.io.*;
import java.util.*;
/*
Нити и байты
*/
public class Solution {
public static Map<String, Integer> resultMap = new HashMap<String, Integer>();
public static void main(String[] args) {
String fileName;
try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in))){
while (!(fileName = bufferedReader.readLine()).equals("exit")){
new ReadThread(fileName).start();
}
}catch (IOException e){
e.printStackTrace();
}
}
public static class ReadThread extends Thread {
String filename;
public ReadThread(String fileName) {
//implement constructor body
this.filename = fileName;
}
// implement file reading here - реализуйте чтение из файла тут
Map<Integer, Integer> mapForMaxByte = new HashMap<>();
Map<String, Integer> mapForFIleNamePlusByte = new HashMap<>();
@Override
public void run(){
File file = new File(filename);
try (FileInputStream fileInputStream = new FileInputStream(file)){
synchronized (this) {
while (fileInputStream.available()> 0) {
int byteN = fileInputStream.read();
mapForMaxByte.put(byteN, mapForMaxByte.getOrDefault(byteN, 0) + 1);
}
String filename = file.getName();
int maxCount = Collections.max(mapForMaxByte.values());
int maxKey = 0;
for (Map.Entry<Integer, Integer> entry : mapForMaxByte.entrySet()){
if (entry.getValue() == maxCount){
maxKey = entry.getKey();
}
}
resultMap.put(filename, maxKey);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}