Валидатор говорит программа должна считывать содержимое файл, поток чтения из файла должен быть закрыт. На файле всё хорошо работает.
public class Solution {
    public static List<String> words = new ArrayList<String>();

    static {
        words.add("файл");
        words.add("вид");
        words.add("В");
    }

    public static void main(String[] args) throws IOException {
        String file = "";
        BufferedReader reader;
        ArrayList<String> inWords = new ArrayList<>();
        reader = new BufferedReader(new InputStreamReader(System.in));
        file = reader.readLine();
        reader.close();
        String result = "";
        FileReader fr = new FileReader(new File(file));
        BufferedReader fileReader = new BufferedReader(fr);
        while (fileReader.ready()) {
            inWords.add(fileReader.readLine());
        }
        fr.close();
        fileReader.close();
        int count = 0;
        for (String s : inWords) {
            if (s.startsWith("\uFEFF")) {//обрезаем BOM
                s = s.substring(1);
            }
            for (int i = 0; i < words.size(); i++) {
                if (s.contains(" " + words.get(i) + " ")) {
                    count++;
                    continue;
                }

                //ищем первое слово
                if  (s.indexOf(words.get(i) + " ") == 0) {
                    count++;
                    continue;
                }


                //ищем последнее слово
                if (s.indexOf(" " + words.get(i)) +  (words.get(i).length()+ 1) == s.length()) {//+1 из-за пробела
                    count++;
                    continue;
                }
            }
            if (count == 2) System.out.println(s);
            count = 0;
        }


    }
}