Пробовал по разному наполнять файл символами. Всегда количество слов world подсчитывалось верно
package com.javarush.task.task19.task1907;
/*
Считаем слово
// /home/roman/Development/Java/Idea/JavaRushTasks/JavaRushTasks/rgt.txt
// /home/roman/Development/Java/Idea/JavaRushTasks/JavaRushTasks/rgtt.txt
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file = reader.readLine();
FileReader fileReader = new FileReader(file);
String string = "";
while (fileReader.ready())
string += (char) fileReader.read();
// System.out.println(string);
// System.out.println(string.replace("world", ""));
// Нахожу разницу между первоначальной длиной строки и длиной строки, которая осталась после
// замены всех слов world на "", делю разницу на кол-во букв в слове world
int count = (string.length() - string.replace("world", "").length())/5;
System.out.println(count);
reader.close();
fileReader.close();
}
}