Olá pessoal! Meu problema é o seguite:
Eu escrevo, por exemplo, isso no JTextArea:
Raylan
13
Ai vai ter um botão de salvar, e quando aperto nesse botão, roda essa linha de código:
salvar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ev) {
String texto = jtextarea.getText();
File arquivo = new File("C:\\Users\\CCE\\Documents\\Raylan\\JAVA\\teste.txt");
try { FileWriter fw = new FileWriter( arquivo);
fw.write(texto);
fw.close();
} catch (IOException ex) {
Logger.getLogger(Codebrowser.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
Quando vou lá ver o que escreveu no arquivo TXT, escreve isso:
Raylan13
Eu não esperava que o resultado fosse assim, eu queria que escrevesse isso:
Raylan
13
Como isso pode ser resolvido?
Obrigado!
Cadê a parte que você coloca o \n?
Fala @Raylan7 tudo bem com vc, cara faz o seguinte:
na tua linha onde vc faz o getText do textarea faz um replace, assim:
String texto = textArea.getText().replaceAll("\n","\r\n");
E escreve no teu FileWrite esta string.
Explicação:
No window colocamos \r\n
Outros sistemas \n
Tanto um como outro serve incluir uma nova linha em arquivos textos cada um tem sua maneira.
No Windows tem um porque de ser diferente, ele utiliza outro sistema para indicar o fim de uma linha e para certo tipos de maquinas serial foi necessário colocar esse tipo de codificação, para indicar o seguinte comando era e é utilizado para criar uma nova linha: CR LF(como o windows veio do ms-dos ele manteve o comando) significa “Carriage Return, Line Feed”(logo isso explica o caractere de escape \r - retorno de carro ou Carriage Return e o \n - nova linha ou Line Feed ou New Line) o curso ia para linha nova criada, nesse link abaixo tem outras explicações mais detalhadas, mas em resumo seria isso.
http://programmers.stackexchange.com/questions/29075/difference-between-n-and-r-n
Boa leitura, espero ter te ajudado
Funcionou! Gravou no .txt no jeito que eu queria! Muito obrigado!
1 curtida