Вроде, всё правильно. Хотя, учитывая, что в условиях немного подробностей про файл (стоит после запятой пробел или нет, к примеру), может, и не всё правильно.
package com.javarush.task.task19.task1907;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
Считаем слово
*/
public class Solution {
public static void main(String[] args) throws IOException {
List<Character> list = new ArrayList<>();
BufferedReader name = new BufferedReader(new InputStreamReader(System.in));
FileReader input = new FileReader(name.readLine());
BufferedReader reader = new BufferedReader(input);
Pattern pattern = Pattern.compile("((?<=^| |\\p{P})world(?=|$|\\p{P}))");
Matcher matcher;
int count = 0;
while (reader.ready()) {
matcher = pattern.matcher(reader.readLine());
count += matcher.groupCount();
}
System.out.println(count);
reader.close();
name.close();
}
}