Quebra de linha em txt

13 respostas
A

Estou tentando escrever uma quebra de linha num arquivo txt… estou colocando “\n” ao final das linhas…

É engraçado porque no eclipse ele dá quebra de linha, mas se eu abro pelo textpad aparece um quadradinho no lugar da quebra e não dá quebra de linha…

meu código é igual ao do www.javaalmanac.com:

try { BufferedWriter out = new BufferedWriter(new FileWriter("outfilename")); out.write("bla\nbla\nbla\n"); out.close(); } catch (IOException e) { }
Alguém manja?

vlew

13 Respostas

A

existe um método da classe BufferedWriter…
então quando você quiser pular linhas use o nome do seu objeto da classe… e use o metodo newLine()

A

Ele dá o mesmo efeito de um “\n”, pelo jeito… aconteceu mesmo problema… muito estranho…

M
String newLine = System.getProperty("line.separator");
try {
	BufferedWriter writer = new BufferedWriter(
			new FileWriter("teste.txt"));
	
	for (int i = 0; i < 10; i++) {
		writer.write("teste" + newLine);
	}
	
	writer.close();
} catch (IOException e) {
	e.printStackTrace();
}
Ou então:
try {
	PrintWriter writer = new PrintWriter(
			new FileWriter("teste.txt", true), true);
	
	for (int i = 0; i < 10; i++) {
		writer.println("teste");
	}
	
	writer.close();
} catch (IOException e) {
	e.printStackTrace();
}
A

nossa…continuou dando o mesmo problema mesmo???
que estranho :shock:
aqui em casa uso o metodo normalmente e nada de estranho acontece…

S

O metodo do newLine funciona sim… abaixo um exemplo. em Netbeans

String newLine = System.getProperty(line.separator);

try{

BufferedWriter out = new BufferedWriter(new FileWriter(nomeArquivo, true));

out.write(getHora()+ " - "+ informacao + newLine);

out.close();

}

catch(IOException e2){

e2.printStackTrace();

}
A

Que editor você está visualizando o seu arquivo txt?

Alguns editores não consegue compreender o quebra de linha e coloca um caracter no final.

Faça os testes com outros editores.

R

tenta um " \r "
já me foi útil neste caso… (imprimindo em txt)

abraço

F

No windows, para a quebra de linha deve ser “\n\r”. No linux, apenas o “\n”.

Fernando

S

no meu caso quando uso o “\n”, ele coloca o [] e nao quebra linha… mas utilizando o newLine, funcionou perfeitamente. To trabalhando com Windows, Netbeans e editando em bloco de notas normal.

abraços :slight_smile:

I

No linux eu uso o “\n” e funciona normalmente, tentar usar “\n\r” para ver o que acontece.

V

Tenta usar uma variável assim:

char quebra = (char)13;

O (char) 13 é interpretado como quebra de linha também (pelo menos em alguns BD).

Até +!

L

Tive esse problema, por algum motivo alguns editores de texto não reconhecem a quebra de linha
com um simples “\n” (o notepad++ sempre reconhece) o “\r\n” meio que força a quebra de linha e aparece em qualquer editor.

R

lucas.schunk.2009:
Tive esse problema, por algum motivo alguns editores de texto não reconhecem a quebra de linha
com um simples “\n” (o notepad++ sempre reconhece) o “\r\n” meio que força a quebra de linha e aparece em qualquer editor.

Isso é por causa de um conceito um pouco mais “baixo nível”.

O computador não entende se você só mandar quebrar de linha. Alguns editores são inteligentes e interpretam a quebra de linha como a gente quer.

Você tem que dizer \n e \r, que é o carriage return(retorno de cursor). Esse comando retorna o cursor para o início da linha.

Isso muda de sistema pra sistema.

Tem uma explicação bem legal aqui: http://stackoverflow.com/questions/9260126/what-are-the-differences-between-char-literals-n-and-r-in-java

Criado 7 de julho de 2006
Ultima resposta 12 de fev. de 2014
Respostas 13
Participantes 11