4 пункт не проходит, я не знаю что не так и где я ошибся. помогите пожалуйста
public class Solution {
public static Map<String, Integer> resultMap = new HashMap<String, Integer>();
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String fileName = null;
while (!"exit".equals((fileName = bufferedReader.readLine()))) {
new ReadThread(fileName).start();
}
}
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)) {
TreeMap<Byte, Integer> map = new TreeMap<Byte, Integer>();
byte[] bytes = new byte[fileInputStream.available()];
while(fileInputStream.available() > 0)
fileInputStream.read(bytes);
for (byte curByte : bytes) {
if (map.get(curByte) == null) {
map.put(curByte, Collections.frequency(Arrays.asList(bytes), curByte));
}
}
for (Map.Entry<Byte, Integer> entry : map.entrySet()) {
if (entry.getValue() == map.get(map.lastKey())) {
resultMap.put(fileName, (int)entry.getKey());
}
}
}
catch(IOException ioException) {
System.out.println(ioException.getMessage());
}
}
}
}
package com.javarush.task.task18.task1823;
import java.io.*;
import java.util.*;
/*
Читайте с консоли имена файлов, пока не будет введено слово "exit".
Передайте имя файла в нить ReadThread.
Нить ReadThread должна найти байт, который встречается в файле максимальное число раз (если таких байтов несколько, выбрать наименьший),
и добавить его в словарь resultMap,
где параметр String - это имя файла, параметр Integer - это искомый байт.
Закрыть потоки.
*/
public class Solution {
public static Map<String, Integer> resultMap = new HashMap<String, Integer>();
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String fileName = null;
while (!"exit".equals((fileName = bufferedReader.readLine()))) {
new ReadThread(fileName).start();
}
}
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)) {
TreeMap<Byte, Integer> map = new TreeMap<Byte, Integer>();
byte[] bytes = new byte[fileInputStream.available()];
while(fileInputStream.available() > 0)
fileInputStream.read(bytes);
for (byte curByte : bytes) {
if (map.get(curByte) == null) {
map.put(curByte, Collections.frequency(Arrays.asList(bytes), curByte));
}
}
for (Map.Entry<Byte, Integer> entry : map.entrySet()) {
if (entry.getValue() == map.get(map.lastKey())) {
resultMap.put(fileName, (int)entry.getKey());
}
}
}
catch(IOException ioException) {
System.out.println(ioException.getMessage());
}
}
}
}