Вроде всё норм, но я даже не знаю в каком виде должны быть слова в файле, может они вообще там с пробелами, в условии это не сказано
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.HashSet;
/*
Считаем слово
*/
public class Solution {
static HashSet<Character> k = new HashSet<>();
static {
k.add('.');
k.add(',');
k.add(';');
k.add(':');
k.add('!');
k.add('?');
k.add('-');
}
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileReader fileReader = new FileReader(reader.readLine());
reader.close();
String data = "";
while (fileReader.ready()) data += (char) fileReader.read();
fileReader.close();
ArrayList<String> words = new ArrayList<>();
String buffer = "";
for (int i = 0; i < data.length(); i++) {
if (k.contains(data.charAt(i))) {
words.add(buffer);
buffer = "";
continue;
}
buffer += data.charAt(i);
}
int count = 0;
for (String word : words) {
if (word.equals("world")) count++;
}
System.out.println(count);
}
}