Galera, URGENTE

Galera, como posso fazer este o seguinte program:

Ler as linhas de um arquivo e contar: quantas
linhas e quantas palavras possui o arquivo.

Acabei de perder toda a resposta q estava digitando… :roll:
Bom… resumindo…
Vc usa a classe RandomAccessFile
Ai vc usa o metodo readLine() pra pegar as linhas,
com a string da linha, vc faz um split(), método da classe string,
ai vai contando tudo num contador, as linhas em outro contador… e no final vc tem o total de linhas e palavras do arquivo!
Ok?!

Vou lhe da uma dica:
Para separar palavra por palavra. Você pode usar StringTokenizer();

String texto=“Olá como vai”;
int count=0;

StringTokenizer() token = new StringTokenizer(texto);

while(token.HasMoreTokens) {
count++;
}

System.out.println("Número: "+count);

Acho que assim funciona, não testei mas tente usar. Como padrão o Tokenizer verifica espaços em branco mas você pode definir qualquer outro critério mudando = new StringTokenizer(texto,""); por exemplo.

Concertando essa parte:

while(token.HasMoreTokens) {
count++;
}

por…

while(token.hasMoreTokens()) {
count++;
}

To tentando aqui kra…

To me dando bem… tendo problemas apenas p/ contar as palavras…

valew msmo… valew… qquer coisa, estou a disposicao…

valew… :stuck_out_tongue:

[quote=“Dunkelheit”]Concertando essa parte:

while(token.HasMoreTokens) {
count++;
}

por…

while(token.hasMoreTokens()) {
count++;
}[/quote]

n tem q por tb pra ir pro proximo token??

tipo assim:

String temp = null;
while(token.hasMoreTokens()) {
temp = token.next();
count++;
}

vlw

Kra, é o seguinte…

Na verdade, esse programa tem q ler um arquivo qquer ja feito e que esteja salvo… Então, ele busca esse arquivo e conta as palavras e linhas… Veja como esta até o momento:

[code]import java.io.*;

public class Teste01
{

static public void main(String[] args) throws Exception
{
BufferedReader arquivo = new BufferedReader(new java.io.FileReader("arquivo.txt"));

  String linha="";
  int linhas=0;
  int palavras=0;
  int ultimaPos=0;

  while (arquivo.ready())
  {
     try
    {
        linha=arquivo.readLine();
        
        while((ultimaPos=linha.indexOf(" ",ultimaPos))!=-1)
        {
           palavras++;
           ultimaPos++;
        }
        
        linhas++;
     }
     catch (Exception ex) 
     {
        ex.printStackTrace();
     }

     System.out.println("Palavras: " + palavras + " \\Linhas: " + linhas);
  } 
  
  System.out.println("Total_Palavras: " + palavras);
  System.out.println("Total_Linhas: " + palavras);
}

}[/code]
Entao, aquilo q vc me passow, não bem dakele jeito, pois ele vai buscar todas as palavras em um arquivo…
Da uma executada nesse codigo e veja se consegue alterar algo p/ ele contar as palavras… Aqui nao esta rolando isso, mas p/ contar as linhas esta OK…

blz… valews… aguardo…

[size=“11”][color=“red”]* Use BBCode em seus códigos, para melhor legibilidade - matheus[/color][/size]