Все как всегда: программа все находит, добавляет, а валидатор не доволен
package com.javarush.task.task18.task1823;
import java.io.*;
import java.lang.reflect.Array;
import java.util.*;
/*
Нити и байты
*/
public class Solution {
public static Map<String, Integer> resultMap = new HashMap<String, Integer>();
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
while (!fileName.equals("exit")){
ReadThread thread = new ReadThread(fileName);
thread.start();
fileName = reader.readLine();
}
reader.close();
for (Map.Entry<String,Integer> entry : resultMap.entrySet()){
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
public static class ReadThread extends Thread {
static String file;
public ReadThread(String fileName) throws IOException {
//implement constructor body
super(fileName);
file = fileName;
}
@Override
public void run() {
try (FileInputStream inputStream = new FileInputStream(file)) {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
int i;
while ((i = inputStream.read()) != -1){
if (map.containsKey(i)) {
int count = map.get(i);
map.put(i, ++count);
}
else map.put(i, 1);
}
inputStream.close();
int max = 0;
int maxKey = 0;
for (Map.Entry<Integer,Integer> entry : map.entrySet()){
if (entry.getValue() > max){
max = entry.getValue();
maxKey = entry.getKey();
}
}
resultMap.put(file, maxKey);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}