Подскажите, что делаю не так?
package com.javarush.task.task18.task1823;
import java.util.HashMap;
import java.util.Map;
import java.io.*;
/*
Нити и байты
*/
public class Solution {
public static Map<Integer , Integer> map = new HashMap<Integer , Integer>();
public static Map<String, Integer> resultMap = new HashMap<String, Integer>();
public static void main(String[] args) throws Exception {
while (true){
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
String s=reader.readLine ();
if (s.equals ("exit") ) {
reader.close () ;
break;
}
else
new ReadThread(s).start() ;
reader.close () ;
}
}
public static class ReadThread extends Thread {
int key=0;
int value=0;
String fileName;
FileInputStream red;
public ReadThread(String fileName) {
super(fileName) ;
this.fileName=fileName;
//implement constructor body
}
public void run(){
try{
red =new FileInputStream(fileName);
boolean ad=false;
while(ad==false) {
while (red.available() > 0) //пока остались непрочитанные байты
{
int data = red.read();
if(map.containsKey(data) )
map.put(data, map.get(data)+1 ) ;
else
map.put(data,1);
}
for(Map.Entry<Integer, Integer > item : map.entrySet()){
if (item.getValue()>value) {
value=item.getValue();
key=item.getKey() ;
}
}
resultMap.put(fileName, key);
ad=true;
}
} catch (Exception e ) {}
}
}
}