Quebra de linha em txt

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

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()

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

[code]
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();
}[/code]
Ou então:

[code]
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();
}[/code]

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

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

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.

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

abraço

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

Fernando

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:

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

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é +!

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.

[quote=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.[/quote]

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

1 curtida