Solution based on BufferedReader

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;
}
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.188.151.107