Файл сохранен с кодировкой UTF-8. Если в начале строки встречается слово из списка words счётчик не увеличивается. В итоге выводит строки где встречается по три и два слова из списка words.
Если файл сохраняется в кодировке ANCI выводит корректно, если в файле английский текст и в списке words соответственно Анг. слова. С русским текстом ничего не выводит.
while (reader.ready()) {
String str = reader.readLine().trim();
String[] text = str.split(" ");
int count = 0;
for(int i = 0; i < text.length; i++) {
if(words.contains(text[i])) count++;
}
if(count == 2)
System.out.println(str);
}