Не могу понять, что не так. Не все пары добавляются в коллекцию. Вот в примере на скрине я добавил 3 файла, а записалось только 2...![]()

package com.javarush.task.task18.task1823;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/*
Нити и байты
*/
public class Solution {
public static Map<String, Integer> resultMap = new HashMap<String, Integer>();
public static void main(String[] args) throws IOException {
ArrayList<String> fileNames = new ArrayList<>();
BufferedReader nameReader = new BufferedReader(new InputStreamReader(System.in));
while (true){
String s = nameReader.readLine();
if(s.equals("exit")){
break;
}
else {
fileNames.add(s);
}
}
for (String Str:fileNames) {
new ReadThread(Str).start();
}
System.out.println(resultMap);
}
public static class ReadThread extends Thread {
private String fileName;
public ReadThread(String fileName) {
//implement constructor body
this.fileName=fileName;
}
@Override
public void run() {
try {
FileInputStream fileInputStream = new FileInputStream(fileName);
//BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
byte[] fileContent = new byte[fileInputStream.available()];
while (fileInputStream.available()>0){
int count = fileInputStream.read(fileContent);
}
int maxRepeat=0;
int repeat=0;
byte offenByte=0;
for (int i = 0; i <fileContent.length ; i++) {
for (int j = 0; j <fileContent.length ; j++) {
if(fileContent[i]==fileContent[j]) repeat++;
}
if(repeat>maxRepeat){
maxRepeat=repeat;
offenByte=fileContent[i];
}
}
synchronized (Solution.class){
resultMap.put(fileName,(int)offenByte);}
fileInputStream.close(); //
}
catch(IOException e){
}
}
// implement file reading here - реализуйте чтение из файла тут
}
}