Что не так?
package com.javarush.task.task18.task1804;
import javax.imageio.stream.FileImageInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.*;
public class Solution {
public static void main(String[] args) throws Exception {
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String fileName = br.readLine();
FileInputStream fileIn = new FileInputStream(fileName);
ArrayList<Integer> list = new ArrayList<Integer>();
while (fileIn.available() > 0){
int data = fileIn.read();
list.add(data);
}
fileIn.close();
br.close();
int val = 0;
for(int i = 0; i < list.size(); i++){
val = Collections.frequency(list, list.get(i));
if(val >= 2){
map.put(list.get(i), val);
}
}
Set<Integer> setVal = new HashSet<Integer>(map.values());
int minElem = Collections.min(setVal);
for(Map.Entry<Integer, Integer> entry : map.entrySet()){
Integer key = entry.getKey();
Integer values = entry.getValue();
if(values == minElem) {
System.out.print(key + " ");
}
}
}
}