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

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");
	}
}

}

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

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

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