Как я понимаю проблема заключается в том что не читаются слова с новой стройки, но как сделать чтобы FileReader читал все слова и с новой строки тоже...
package com.javarush.task.task19.task1907;
/*
Считаем слово
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
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 fr = new FileReader(fileName);
ArrayList<String> list = new ArrayList<String>();
while (fr.ready()) {
int data = fr.read();
list.add(String.valueOf((char) data));
}
fr.close();
StringBuffer sb = new StringBuffer();
for (String s : list) {
sb.append(s);
}
String test = String.valueOf(sb);
String[] str = test.split(" ");
int count = 0;
for (int i = 0; i < str.length; i++) {
if (str[i].equals("world")) {
count++;
}
}
System.out.println(count);
}
}