Para vc ler o arquivo vc pode utilizar o BufferedReader, que tem o um método que lê linha por linha (método readLine()). Vc pode ficar lendo linha por linha (concatenando as strings) até achar uma linha que tenha um ponto. Assim, vc passa para o StringTokenizer esta String e o separador (o espaço, o que separa palavras). Pra saber o número de palavras, tem o método countTokens.
Como vc vai abrir um ficheiro txt eu não sei te dizer, mas, se vc conseguir abrir o ficheiro, peque todo o conteúdo do txt e atribua a um String.
Aqui vai um exemplo que talves pode te “clarear” as idéias:
importjava.util.StringTokenizer;importjavax.swing.JOptionPane;publicclassachaPontoFinal{publicstaticvoidmain(Stringargs[]){Strings="";Stringstr="";booleanachou=false;// INDICA SE ACHOU O PONTO FINALinti=0;// VARIAVEL QUE CONTA QUANTAS PALAVRAS PASSARAM// ATÉ QUE ENCONTRE O PONTO FINALstr=JOptionPane.showInputDialog("Digite um texto");StringTokenizertokens=newStringTokenizer(str);while(tokens.hasMoreTokens()){s=tokens.nextToken();i++;if(s.endsWith(".")){achou=true;break;}}if(achou)System.out.println("Palavras até o ponto final: "+i);elseSystem.out.println("Não achou um ponto final");}}