We want to count only those elements of a file that satisfy a given condition. A recursive method to do so has the following structure:
read an element;
if (element is not valid)
return 0;
else if (condition)
return 1 + result-of-the-recursive-call;
else
return result-of-the-recursive-call;
Example: Counting the number of lines of a file that start with ':'
public static int countLinesColon(BufferedReader br) throws IOException { String s = br.readLine(); if (s == null) return 0; else if (s.charAt(0) == ':') return 1 + countLinesColon(br); else return countLinesColon(br); }