Не проходит валидацию по пунктам:
Для чтения из файла используй поток FileInputStream.
Поток чтения из файла должен быть закрыт.
Объясните, что не так.
Код:
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
reader.close();
FileInputStream fileRead = new FileInputStream(s);
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
while (fileRead.available() > 0) {
int data = fileRead.read();
if (map.containsKey(data)) {
map.put(data, map.get(data)+1);
}
else map.put(data, 1);
}
fileRead.close();
int i = map.entrySet().iterator().next().getValue();
for (Entry<Integer, Integer> entry : map.entrySet()) {
if (entry.getValue() < i) i = entry.getValue();
}
for (Entry<Integer,Integer> entry : map.entrySet()) {
if (entry.getValue() == i) System.out.print(entry.getKey() + " ");
}
}
package com.javarush.task.task18.task1804;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.*;
import java.util.Map.Entry;
/*
Самые редкие байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
reader.close();
FileInputStream fileRead = new FileInputStream(s);
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
while (fileRead.available() > 0) {
int data = fileRead.read();
if (map.containsKey(data)) {
map.put(data, map.get(data)+1);
}
else map.put(data, 1);
}
fileRead.close();
int i = map.entrySet().iterator().next().getValue();
for (Entry<Integer, Integer> entry : map.entrySet()) {
if (entry.getValue() < i) i = entry.getValue();
}
for (Entry<Integer,Integer> entry : map.entrySet()) {
if (entry.getValue() == i) System.out.print(entry.getKey() + " ");
}
}
}