.
package com.javarush.task.task18.task1823;
import java.io.*;
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 {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s;
while(!((s = reader.readLine()).equals("exit"))) {
new ReadThread(s).start();
}
reader.close();
System.out.println(resultMap);
char c = 114;
char c1 = 66;
System.out.println(c + " " + c1);
}
public static class ReadThread extends Thread {
InputStream is;
int count = 1;
int max;
int maxCount;
String fileName;
byte[] buff;
public ReadThread(String fileName) throws IOException {
is = new FileInputStream(fileName);
this.fileName = fileName;
buff = new byte[is.available()];
}
// implement file reading here - реализуйте чтение из файла тут
public void run() {
while (true) {
try {
if (!(is.available() > 0)) break;
int counter = is.read(buff);
for(int i = 0; i < counter; i++) {
for(int j = 0; j < counter; j++) {
if(buff[i] == buff[j]) {
count++;
}
}
if(maxCount < count) {
max = buff[i];
maxCount = count;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
synchronized (resultMap) {
resultMap.put(fileName, max);
}
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* Нить ReadThread должна найти байт, который встречается в файле максимальное число раз, и добавить его в словарь resultMap,
* где параметр String - это имя файла, параметр Integer - это искомый байт.
* Закрыть потоки.
*/