Advertisement
Guest User

Contador

a guest
Sep 9th, 2011
432
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.50 KB | None | 0 0
  1. /*Objetivo desse script Java é contar quantos caracteres, palavras, linhas de um arquivo informado via linha de comando
  2. @autor: Reginaldo
  3. compilar: javac Contador.java
  4. executar: java Contador nomearquivo1 nomearquivo2 nomearquivoN*/
  5. import java.io.*;
  6. public class Contador{
  7.     private static void contaLinhas(String arquivo, BufferedReader in) throws IOException{
  8.         long numerocaracteres=0;
  9.         long numerolinhas=0;
  10.         long numeropalavras=0;
  11.         String linha;
  12.         do{
  13.             linha = in.readLine();
  14.             if(linha != null){
  15.                 numerocaracteres += linha.length();
  16.                 numeropalavras += contaPalavras(linha);
  17.                 numerolinhas++;
  18.             }
  19.         }while(linha != null);
  20.            System.out.println("Arquivo:" +arquivo);
  21.            System.out.println("Número de caracteres: " +numerocaracteres);
  22.            System.out.println("Número de palavras: " +numeropalavras);
  23.            System.out.println("Número de linhas: " +numerolinhas);
  24.     }
  25.     private static void contaLinhas(String arquivo){
  26.         BufferedReader in = null;
  27.         try{
  28.             FileReader file = new FileReader(arquivo);
  29.             in = new BufferedReader(file);
  30.             contaLinhas(arquivo,in);
  31.         }catch(IOException e){
  32.             e.printStackTrace();
  33.         }
  34.     }
  35.     private static long contaPalavras(String linha){
  36.         long numeropalavras=0;
  37.         int indice = 0;
  38.         boolean espacoembranco = true;
  39.         while(indice < linha.length()){
  40.             char c = linha.charAt(indice++);
  41.             boolean espacoembrancoatual = Character.isWhitespace(c);
  42.             if(espacoembranco && !espacoembrancoatual){
  43.                 numeropalavras++;
  44.             }
  45.             espacoembranco = espacoembrancoatual;
  46.         }
  47.              return numeropalavras;
  48.        
  49.     }
  50. public static void main(String[] args){
  51.         long numerocaracteres=0;
  52.     long numeropalavras=0;
  53.     long numerolinhas=0;
  54.     String linha;  
  55.     if(args.length < 1){
  56.           System.out.println("Utilização: java Contador <arquivo> [...]");
  57.            return;
  58.     }
  59.     try{
  60.         if(args.length == 0){
  61.             BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  62.             linha = in.readLine();
  63.             numerocaracteres = linha.length();
  64.             if(numerocaracteres != 0){
  65.                 numerolinhas=1;
  66.             }
  67.             System.out.println("Numero de caracteres: " +numerocaracteres);
  68.             System.out.println("Numero de palavras: " +contaPalavras(linha));
  69.             System.out.println("Numero de linhas: " +numerolinhas);
  70.         }
  71.         else{
  72.                 //System.out.println("Foram passados" +args.length+ "parametros");
  73.                 for(int i=0; i<args.length; i++){
  74.                 contaLinhas(args[i]);      
  75.                }
  76.         }
  77.     }catch(IOException e){
  78.         e.printStackTrace();
  79.     }
  80.    
  81.    }//fim do main
  82. }//fim da classe
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement