Leitura de arquivo ignorando (char)13 - "ENTER"

3 respostas
K
Pessoal estou lendo um arquivo, mas não entendi porque quando tem um Enter no arquivo ele concatena as linas no momento do append do StringBuffer... Alguém sabe como posso trocar este enter por um espaço por exemplo. Estou tentando com return new StringBuffer(str.toString().replace((char)13,' '));
public static StringBuffer loadFile(String caminho,String nome_arquivo) {
			try{
			
			FileReader f=new FileReader(caminho+nome_arquivo);
			BufferedReader arquivo=new BufferedReader(f);
			StringBuffer str = new StringBuffer();
			String s;
			while((s=arquivo.readLine())!=null)
			{
				str.append(s);
	                }
			return new StringBuffer(str.toString().replace((char)13,' '));
		}
		catch (Exception e)
		{
			JOptionPane.showMessageDialog ( null, e.toString(),"ERRO", JOptionPane.ERROR_MESSAGE);
			System.exit ( 0 );
			return null;
		}
	}

Exemplo:
Conteúdo do Arquivo

Parágrafo 001

Todos os usuários devem fazer.

cadastro ....


StringBuffer lido
Parágrafo 001Todos os usuários devem fazer.cadastro ....

3 Respostas

A

O método readLine() retorna uma linha do arquivo, sem o caractere de quebra de linha. Sabendo disso, você coloca o que quiser depois de concatenar a linha, ou, se quiser com a quebra de linha, use o método read().

Abraço,

Armando

thiago.correa

Quando você lê um arquivo ele lê linha por linha e não as querbras de linha (enter, \n etc)
Então cada linha que você lê, ou você adiciona um ‘\n’ a linha corrente ou um espaço.

str.append(s).append(" ");
// ou

str.append(s).append("\n");
K

Valeu pessoal,
Não me atentei ao detalhe mesmo…

Um agraço pra vcs.

Criado 21 de setembro de 2006
Ultima resposta 21 de set. de 2006
Respostas 3
Participantes 3