Imprima o número de caracteres do arquivo esta retornando ate os espaços

3 respostas
gutorocher

o problema esta com o blema e que o mesmo esta refornando a quantidade de caracter ate com os espaços!!!

Peço ajuda al pessoal…
desde ja agradeço a todos…

import java.awt.HeadlessException;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import javax.swing.JOptionPane;

/**

  • Programa que solicite ao usuário
  • um nome de arquivo e imprima o número
  • de caracteres,
  • palavras e linhas desse arquivo.
  • Utilize arquivos texto.

*/

public class ImprimeCharacter {

public static void main(String[] args) throws HeadlessException,
		IOException {

	/**
	 * aqui faz em que o usuario dizer
	 * onde vai ser criado um diretorio;
	 */

	File f = new File(JOptionPane
			.showInputDialog(null,"informe o local que  deseja criar diretorio","modelo c:/trabalho",JOptionPane.QUESTION_MESSAGE));
	System.out.println("criando diretorio");

	
	/**
	 * aqui cria o diretorio;
	 */

	f.mkdir();

	System.out.println("diretorio criado");
	System.out.println("criando arquivo");

	/**      
	 * aqui o usuario diz o nome do usuario e
	 * sua respectiva extensão;
	 */

	File arquivoNovo = new File(f, JOptionPane
			.showInputDialog(null,"informe nome  arquivo"," extensão .doc, .txt -- > trabolho.txt",JOptionPane.QUESTION_MESSAGE));
	
	
	/**
	 * aqui cria o file em que o usuario solicitou  anteriormente
	 * e caso naum consiga criar ele gera uma excessão;
	 */

	try {
		arquivoNovo.createNewFile();

	} catch (IOException e) {
		JOptionPane.showMessageDialog(null,
				"ocorreu um erro ao tentar  criar o arquivo" + arquivoNovo);
	}

	System.out.println("arquivo criado com sucesso!!!");

	try {
		
		FileWriter escreve = new FileWriter(arquivoNovo, true);

		escreve.write(JOptionPane
			.showInputDialog("informe o  texto a ser digitado"));

		escreve.flush();//força gravar uma informação  no momento solicitado;
		escreve.close();

	} catch (IOException e) {
		JOptionPane.showMessageDialog(null, "erro ao  escrever arquivo !");
	}

	int next = 0;
	int contador = 0;

	try {
		FileReader file = new FileReader(arquivoNovo);

		while (next >= 0) {

			next = file.read();
			if (next == -1)
				continue;
		
			char c = (char) next;
			contador++;
		}

		JOptionPane.showMessageDialog(null,
				"numero de charanteres no  documentnto"
						+ "\n que é  igual a " + contador);

	} catch (FileNotFoundException e) {
		JOptionPane.showMessageDialog(null, "não  encontrado");

	} catch (IOException e) {
		JOptionPane.showMessageDialog(null, "erro ao  ler arquivo");
	}
}

}

3 Respostas

mcbarsotti

Bom, vc não explicou bem o seu problema, mas pelo oque eu entendi, vc quer fazer 3 coisas…

Não vou implementar perfeitamente, pois vou escrever muito :wink: então vc adapta o código com o FileWriter e o FileReader, ok…

1° - contar quantas palavras o arquivo tem:

String[] quantPalavras;
quantPalavras = textoDoUsuario.split(" ");
quantPalavras.lenght();

2° contar quantidade de linhas:

String[] quantLinhas;
quantLinhas = textoDoUsuario.split("\r\n");
quantLinhas.lenght();

3° contar a quantidade de caracteres sem os espaços ( foi isso q eu entendi q vc está querendo… )

String textoTemp = "";
textoTemp = textoDoUsuario.replaceAll(" ","");
textoTemp.lenght();

Lembrando q eu te passei exemplos simples, tem q ser melhorados, isso é para vc ter uma idéia…

ps: se vc tirar 10 no trabalho da Facul a breja é por sua conta hein :wink: :lol:

Abrçs

peczenyj

bom… os espaços em branco constituem caracteres também :wink:

mcbarsotti

Sim, sim, os espaços em branco tb são caracteres, mas pelo oque eu entendi, ele não está querendo os espaços…

sei lá, a palavra “ate” o sinal de !!! que foi usado acima está me parecendo uma indignação… como se não pudesse aparecer os espaços…

sei lá…

ahuhuahu

abrçs

Criado 17 de agosto de 2007
Ultima resposta 18 de ago. de 2007
Respostas 3
Participantes 3