По моему мнению все работает, проверял, но может я что-то упустил?
package com.javarush.task.task19.task1907;
/*
Считаем слово
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader f = new BufferedReader(new FileReader(reader.readLine()));
reader.close();
StringBuilder b = new StringBuilder();
String s;
while ((s=f.readLine()) != null){
b.append(s);
}
s = b.toString();
String[] z = s.split("\\W");
int count = 0;
for (String h : z){
if (h.equals("world")){
count++;
}
}
System.out.println(count);
f.close();
}
}