Classe para ler arquivo txt

5 respostas
J

Olá Colegas,

Gerei o código abaixo, que ler um arquivo txt e depois me dá o resultado.
Gostaria de saber como fazer uma classe só para ler o arquivo TXT, e depois chamá-la no MAIN.

package tarefapraticap;

/**
*

  • @Jeorge Hilbert
    /
    import java.io.
    ;
    import java.awt.;
    import java.awt.event.
    ;
    import javax.swing.*;
    import java.util.Scanner;
public class ExibirArquivo{

/**

* @param args the command line arguments

*/

private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) throws Exception{
    // Aqui vamos checar se foram passados os dois argumentosd pedidos
    // args[0] contém o nome do arquivo a ser lido
   
    System.out.println("(0)Para Executar (1)Para Sair:");
    int j = scanner.nextInt();
    String mNomeArq = "d:Pexec.txt";
    FileWriter open = new FileWriter( mNomeArq, true );

    if(j == 1){
        System.out.println("Arquivo Pexec.txt nao encontrado!!");
        System.exit(1);
    }

    //Abrindo arquivo
    FileInputStream stream = new FileInputStream(mNomeArq);
    InputStreamReader streamReader = new InputStreamReader(stream);
    BufferedReader reader = new BufferedReader(streamReader);
    
    // Neste WHILE lêr-se linha por linha
    String line = null;
    int cont = 0;
    int contapalavra = 0;
    int contacaracter = 0;
    char letra;
    while((line=reader.readLine()) != null){
      // Apresentar valor da linha na tela  
      cont++;
      System.out.print(cont+"- ");
      System.out.println(line);
      contacaracter= contacaracter+line.length();
      for(int i=0;i<line.length();i++){
        char b= ' ';
        if(line.charAt(i)==b){
          contapalavra++;  
        }         
      }                     
    }
    contapalavra= contapalavra+cont;
    System.out.println("=== Resumo === ");
    System.out.println("Numero de Linhas....: "+cont);        
    System.out.println("Numero de Palavras..: "+contapalavra);
    System.out.println("Numero de Caracteres: "+contacaracter);
    
    reader.close();
    streamReader.close();
    stream.close();
}

}

5 Respostas

kaique

Cara, coloca o seu código dentro das tags de código…assim fica “imoral” de se ler… :slight_smile:

[]'s.

LPJava

FileReader = classe de nível alto para leitura de caractere, 1 por 1.
BufferedReader = classe de nível mais baixo porem mais eficientes que permite a leitura de maior quantidade caracteres.

J

Olá Colegas,

Realmente sei que não é paraq ser assim o código, mas estou no ínicio (mesmo)… e sei que posso contar com a juda de todos para começar a programar corretamente em JAVA…

LPJava

Cara é o seguinte claro que o pessoal aqui no guj pode ti ajudar sim… como isso ja acontece a anos por aqui… porem vc tb tem que se auto-ajudar… vc colocar um codigo e perguntar o que fazer ja foi dito quais as classes que vc pode usar para ler um arquivo… porem o q vc deve fazer? Pesquisar como implementar as classes,acessar o javadoc e ver la… e se ficar com duvida… postar nesse mesmo topico aonde está com a nova duvida… o que normalmente nao acontece e se vc ficar refem é se galera vai resolver 100% para vc… ai vc vai encontrar caminhos como resolver e vc implementa sozinho… e isso nao é para sacanear vc nao… o simples motivo é para contribuir para o conhecimento… independente se está começando… se ja é intermediario etc… pois no final das contas estamos sempre no inicio…

A proposito vc pesquisou sobre as classes acima?

flw!

J

Minha dúvida neste caso, seria como criar um método ou uma classe para abrir um arquivo TXT, (usando o código que postei) e chamá-la na classe MAIN.

Criado 18 de março de 2008
Ultima resposta 19 de mar. de 2008
Respostas 5
Participantes 3