Подскажите, что не так. На моих примерах всё работает.
package com.javarush.task.task19.task1907;
/*
Считаем слово
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader.close();
FileReader fileReader = new FileReader(fileName);
char[] buffer = new char[1024];
StringBuilder builder = new StringBuilder();
while(fileReader.read(buffer) != -1) {
builder.append(new String(buffer));
}
fileReader.close();
int count = 0;
Pattern pattern = Pattern.compile("\\bworld\\b");
Matcher matcher = pattern.matcher(builder.toString());
while(matcher.find()) {
count++;
}
System.out.println(count);
}
}