Contador de caracteres, palavras e linhas de um arquivo
Publicado por Reginaldo de Matias (última atualização em 06/11/2011)
[ Hits: 19.793 ]
Homepage: http://mundodacomputacaointegral.blogspot.com/
O presente programa em Java conta quantos caracteres, palavras, linhas de um arquivo informado por linha de comando.
Execução
[reginaldo@saitam ~]javac Contador.java
[reginaldo@saitam ~]cat teste
Teste de execução do aplicativo Java que conta quantos caracteres, palavras, linhas de um arquivo.
[reginaldo@saitam ~]java Contador teste
Arquivo:teste
Número de caracteres: 98
Número de palavras: 15
Número de linhas: 1
/*Objetivo desse script Java é contar quantos caracteres, palavras, linhas de um arquivo informado via linha de comando
compilar: javac Contador.java
executar: java Contador nomearquivo1 nomearquivo2 nomearquivoN*/
import java.io.*;
public class Contador{
private static void contaLinhas(String arquivo, BufferedReader in) throws IOException{
long numerocaracteres=0;
long numerolinhas=0;
long numeropalavras=0;
String linha;
do{
linha = in.readLine();
if(linha != null){
numerocaracteres += linha.length();
numeropalavras += contaPalavras(linha);
numerolinhas++;
}
}while(linha != null);
System.out.println("Arquivo:" +arquivo);
System.out.println("Número de caracteres: " +numerocaracteres);
System.out.println("Número de palavras: " +numeropalavras);
System.out.println("Número de linhas: " +numerolinhas);
}
private static void contaLinhas(String arquivo){
BufferedReader in = null;
try{
FileReader file = new FileReader(arquivo);
in = new BufferedReader(file);
contaLinhas(arquivo,in);
}catch(IOException e){
e.printStackTrace();
}
}
private static long contaPalavras(String linha){
long numeropalavras=0;
int indice = 0;
boolean espacoembranco = true;
while(indice < linha.length()){
char c = linha.charAt(indice++);
boolean espacoembrancoatual = Character.isWhitespace(c);
if(espacoembranco && !espacoembrancoatual){
numeropalavras++;
}
espacoembranco = espacoembrancoatual;
}
return numeropalavras;
}
public static void main(String[] args){
long numerocaracteres=0;
long numeropalavras=0;
long numerolinhas=0;
String linha;
if(args.length < 1){
System.out.println("Utilização: java Contador <arquivo> [...]");
return;
}
try{
if(args.length == 0){
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
linha = in.readLine();
numerocaracteres = linha.length();
if(numerocaracteres != 0){
numerolinhas=1;
}
System.out.println("Numero de caracteres: " +numerocaracteres);
System.out.println("Numero de palavras: " +contaPalavras(linha));
System.out.println("Numero de linhas: " +numerolinhas);
}
else{
//System.out.println("Foram passados" +args.length+ "parametros");
for(int i=0; i<args.length; i++){
contaLinhas(args[i]);
}
}
}catch(IOException e){
e.printStackTrace();
}
}//fim do main
}//fim da classe
Código para validar CPF e CNPJ otimizado
Crivo de Eratóstenes Simples em Java
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
VOL já não é mais como antes? (3)
É normal não gostar de KDE? (12)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









