Валидатор говорит программа должна считывать содержимое файл, поток чтения из файла должен быть закрыт. На файле всё хорошо работает.
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;
}
}
}