$ grep -c '\.java$' file
3
O sinal -c to grep fará com que ele informe o número de linhas na entrada que corresponde ao padrão.
O padrão \.java$ corresponderá a qualquer linha que termine com .java .
$ name="file"
$ printf 'Total number of Java files in "%s":\t%d\n' "$name" "$( grep -c -- '\.java$' "$name" )"
Total number of Java files in "file": 3
Ou mesmo apenas (com GNU grep ou compatível):
$ grep -Hc '\.java$' file
file:3
Ou (ainda com GNU grep ):
$ grep --label='Total java files in "file"' -Hc '\.java$' < file
Total java files in "file":3