Подскажите что не так ? Не как не могу победить (
package com.javarush.task.task18.task1823;
import java.io.*;
import java.net.Inet4Address;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
/*
Нити и байты
*/
public class Solution {
public static Map<String, Integer> resultMap = new HashMap<String, Integer>();
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
while (true) {
String str = reader.readLine();
if (str.equals("exit")) {
break;
} else {
new ReadThread(str).start();
}
}
} catch (IOException e) {
}
}
public static class ReadThread extends Thread {
private String fileName;
public ReadThread(String fileName) {
this.fileName = fileName;
}
@Override
public void run() {
try (FileInputStream fileInputStream = new FileInputStream(fileName)) {
ArrayList<Integer> list = new ArrayList<>();
while (fileInputStream.available() > 0) {
list.add(fileInputStream.read());
}
TreeMap<Integer, Integer> map = new TreeMap<>();
for (Integer i : list) {
if (map.containsKey(i)) {
map.put(i, map.get(i) + 1);
} else {
map.put(i, 1);
}
}
//map.remove(32); // удаляем пробелы
Solution.resultMap.put(fileName, map.firstKey());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
//Нити и байты
//Читайте с консоли имена файлов, пока не будет введено слово "exit".
//Передайте имя файла в нить ReadThread.
//Нить ReadThread должна найти байт, который встречается в файле максимальное число раз, и добавить его в словарь resultMap,
//где параметр String - это имя файла, параметр Integer - это искомый байт.
//Закрыть потоки.
//
//
//Требования:
//1. Программа должна считывать имена файлов с консоли, пока не будет введено слово "exit".
//2. Для каждого файла создай нить ReadThread и запусти ее.
//3. После запуска каждая нить ReadThread должна создать свой поток для чтения из файла.
//4. Затем нити должны найти максимально встречающийся байт в своем файле и добавить его в словарь resultMap.
//5. Поток для чтения из файла в каждой нити должен быть закрыт.