RESOLVIDO-Problema com arquivo texto - Sem quebra de linha
13 respostas
venomtotal
é mais ou menos assim:
Tinha uma aplicacao que usa FileWriter para gerar arquivo texto, so que o arquivo gerado não sinha quebra de linha, vinha todo o texto em uma linha só.
O que pode ser isso? codificacao?(tipo ascii unicode?)
Como que tu estás fazendo pra inserir as informações no arquivo? Tp, mostra o código ae.
venomtotal
//Salva o arquivo em discopublicvoidsalvar(){try{// Destino do arquivoFilefile=newFile(“c:/teste.java”);// Abre o arquivo para escrita se parâmetro true escreve no final//do arquivo caso contrário substituiFileWriterfw=newFileWriter(file,false);// Torna o processo de escrita no arquivo mais eficienteBufferedWriterbw=newBufferedWriter(fw);
bw.write(this.getTexto());// Joga o conteúdo da memóriabw.flush();// Fecha o arquivo e libera-obw.close();}catch(Exceptione){e.printStackTrace();}}
Y
Yky_Mattshawn
Qual o conteúdo retornado por getTexto()?
venomtotal
ahahhaha, ainda acordado, aff nem aguento de sono.
Este metodo faz parte de um trabalho meu da faculdade que geraria determinada classe java.
ou seja .getTexto retornaria algo como:
“public class Teste{\n
public Teste(){\n
}\n
}”
mas o arquivo gerado, quando aberto pelo NOTEPAD fica assim:
public class Teste{ public Teste(){ } }
Y
Yky_Mattshawn
Meu último post de hoje… tow indo dormir, rsss
Bom cara, se tu estás usando o “\n” na String não entendo pq as quebras não estão funcionando.
Tp, uma vez eu tava fazendo um exemplo de salvamento de informações num arquivo txt, e usei o seguinte:
privatevoidwriteUserToFile(Useruser){file.format("%s %s\n",user.getUsername(),user.getPassword());}privatevoidopenFile(){try{file=newPrintWriter(newFile("users.txt"));}catch(FileNotFoundExceptione){System.out.println("Erro na criacao do arquivo.");System.exit(1);}}
Aih não sei mesmo o pq de a tua aplicação não estar funcionando. Tens certeza de que colocaste os “\n” na String?
Y
Yky_Mattshawn
Ah!!!
Se ainda não funcionar, tenta colocar “\r\n” ao invés de somente o “\n”.
venomtotal
falow
na madruga respondo se de certo
tambem vou dormir
venom
T
tanaka
e ae galera!!
tinha o mesmo problema que o seu, resolvi sem mexer no código. Quando abri no notepad no lugar da quebra aparecia um quadrado preto então abri no wordpad. PRONTO!!!
Bem resolvi desse jeito mas com vc pode ser diferente
falow
LPJava
venomtotal:
é mais ou menos assim:
Tinha uma aplicacao que usa FileWriter para gerar arquivo texto, so que o arquivo gerado não sinha quebra de linha, vinha todo o texto em uma linha só.
O que pode ser isso? codificacao?(tipo ascii unicode?)
Agradeco qualquer ajuda
Venom
use a classe PrintWriter e o metodo println da class… se tiver usando o java 5 essa class aceita no construtor File e String.
clodoaldoaleixo
Ou vc pode adicionar mais um método ai.
[code]
public void salvar(){
try {
File file = new File("c:/teste.java");
FileWriter fw = new FileWriter(file, false);
BufferedWriter bw = new BufferedWriter(fw);
O método newLine cria uma nova linha, como o próprio nome do método já revela... :)
venomtotal
Yky Mattshawn:
Ah!!!
Se ainda não funcionar, tenta colocar “\r\n” ao invés de somente o “\n”.
Matou a questão :twisted:
é isto mesmo, resolveu o problema
Pessoa, so atentar que tem que ser nessa sequencia “\r\n”, se botar “\n\r” nao funciona
Valeu mesmo Yky
jcatino
venomtotal:
Yky Mattshawn:
Ah!!!
Se ainda não funcionar, tenta colocar “\r\n” ao invés de somente o “\n”.
Matou a questão :twisted:
é isto mesmo, resolveu o problema
Pessoa, so atentar que tem que ser nessa sequencia “\r\n”, se botar “\n\r” nao funciona
Valeu mesmo Yky
Vc estava no Windows…
Separador de linha em unix/linux: LF (Line Feed) = ‘\n’ - hexa 0A
Separador de linha em dos/windows: CR+LF (Carriage Return / Line Feed) = ‘\r\n’ - hexa 0D0A
Opcionalmente, arquivos texto tem CTRL-Z no final de arquivo (End Of File).
luiscesarinfo
Vc estava no Windows…
Separador de linha em unix/linux: LF (Line Feed) = ‘\n’ - hexa 0A
Separador de linha em dos/windows: CR+LF (Carriage Return / Line Feed) = ‘\r\n’ - hexa 0D0A
Opcionalmente, arquivos texto tem CTRL-Z no final de arquivo (End Of File).