Программа не проходит по 4му пункту. Прогонял код дебагером, не могу понять, почему stream не считывает байты из файла. Помогите разобраться, пожалуйста.
package com.javarush.task.task18.task1823;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
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) throws IOException {
Scanner scanner = new Scanner(System.in);
String fileName;
while (true) {
fileName = scanner.nextLine();
if (fileName.equals("exit")) break;
new ReadThread(fileName).start();
}
scanner.close();
}
public static class ReadThread extends Thread {
private String fileName;
private FileInputStream fis;
private int [] buff = new int[256];
public ReadThread(String fileName) throws IOException {
this.fileName = fileName;
fis = new FileInputStream(fileName);//implement constructor body
}
@Override
public void run() {
try {
while (fis.available() > 0) {
buff[fis.read()]++;
}
fis.close();
Arrays.sort(buff);
resultMap.put(fileName, buff[buff.length-1]);
} catch (IOException e) {
e.printStackTrace();
}
}
// implement file reading here - реализуйте чтение из файла тут
}
}