September 2019
Intermediate to advanced
816 pages
18h 47m
English
We already know from the previous problems that BufferedReader is very efficient for reading text files. Therefore, we can use it to read a big file as well. While reading, for each line obtained via BufferedReader.readLine(), we need to count the number of occurrences of the searched string via countStringInString():
public static int countOccurrences(Path path, String text, Charset ch) throws IOException { int count = 0; try (BufferedReader br = Files.newBufferedReader(path, ch)) { String line; while ((line = br.readLine()) != null) { count += countStringInString(line, text); } } return count;}