Рекомендации от ментора. Проверь, почему программа находит не все слова "world" в файле.
package com.javarush.task.task19.task1907;
/*
Считаем слово
*/
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static java.util.regex.Pattern.CASE_INSENSITIVE;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName=reader.readLine();
FileReader in = new FileReader(fileName);
reader.close();
String word = "word";
char[] chars = word.toUpperCase().toCharArray();
int j=0;
word="";
while (in.ready()) //пока есть непрочитанные байты в потоке ввода
{
int data = in.read(); //читаем один символ (char будет расширен до int)
if (!Character.isAlphabetic((char) data)) { //если символ не является буквой
//if (word.length()>0) System.out.println(word);
if (word.length()==4) {
boolean flag=true;
char[] chars1 = word.toUpperCase().toCharArray();
for (int k = 0; k <4 ; k++) {
flag = flag && (chars[k] == chars1[k]);
}
if (flag) j++;
}
word="";
} else word+=((char) data);
}
//if (word.length()>0) System.out.println(word);
if (word.length()==4) {
boolean flag=true;
char[] chars1 = word.toUpperCase().toCharArray();
for (int k = 0; k <4 ; k++) {
flag = flag && (chars[k] == chars1[k]);
}
if (flag) j++;
}
in.close();
System.out.println(j);
}
}