Не могу понять, что не так. Ошибка где-то на этапе считывания байт. Видимо поэтому Валидатор не видит закрытие потока (в том числе). Помогите пожалуйста.
package com.javarush.task.task18.task1823;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/*
Нити и байты
*/
public class Solution {
public static Map<String, Integer> resultMap = new HashMap<String, Integer>();
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while (true) {
String fileName = scan.nextLine();
if (fileName.equals("exit")) return;
else new ReadThread(fileName).start();
}
}
public static class ReadThread extends Thread {
private String fileName;
public ReadThread(String fileName) {
this.fileName = fileName;//implement constructor body
}
public void run() {
try {
FileInputStream input = new FileInputStream(fileName);
Byte[] mas = new Byte[256];
while ((input.available() > 0)) {
mas[input.read()]++;
}
input.close();
int maxB = mas[0];
int maxrepeat = 0;
for (int i = 0; i < 256; i++) {
if (mas[i] > maxrepeat) {
maxrepeat = mas[i];
maxB = i;
}
}
resultMap.put(fileName, maxB);
} catch (Exception e) {System.out.println ("что-то пошло не так");}
}
}
}