[RESOLVIDO]Quebra de linha após salvar arquivo txt

Como salvar arquivo com quebra de linhas?

Dei uma furçada por ae… mas sou iniciante e tem coisa que não compreendo.

Como eu deveria fazer?

Me baseei nesse video…
http://www.youtube.com/watch?annotation_id=annotation_966402&feature=iv&src_vid=0McXhr_uzjI&v=jcjY7Ky4sNE

Meu codigo de salvar é…

private void salvarActionPerformed(java.awt.event.ActionEvent evt) { 

if("".equals(CurrentFileDirectory)){
           
           JFileChooser sdChooser = new JFileChooser();
        FileNameExtensionFilter filter = new FileNameExtensionFilter("Arquivo de Texto", "txt");
        sdChooser.setFileFilter(filter);
        int returnval = sdChooser.showSaveDialog(null);
       
        try{
            if(returnval == JFileChooser.APPROVE_OPTION){
            File directory = sdChooser.getCurrentDirectory();
            String path = directory.getAbsolutePath();
            String fileName = sdChooser.getSelectedFile().getName();
            
            if(fileName.contains(".txt")){
                
            }else{
            fileName = fileName + ".txt";
            }
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path+"\\"+ fileName),"UTF-8"));
            CurrentFileDirectory = path + "\\" + fileName;
            
            
            bw.write(resultado.getText());
            bw.close();
            }
        }catch(IOException e){
            JOptionPane.showMessageDialog(null, "");
        }
        
       }else{
           try{
               BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(CurrentFileDirectory),"UTF-8"));
               bw.write(resultado.getText());
               bw.close();
               
           }catch(IOException e){
            JOptionPane.showMessageDialog(null, "");
           } 
       }
}

O outro botão de salvar

[code] private void salvar_comoActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser sdChooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter(“Arquivo de Texto”, “txt”);
sdChooser.setFileFilter(filter);
int returnval = sdChooser.showSaveDialog(null);

    try{
        
        if(returnval == JFileChooser.APPROVE_OPTION){
        File directory = sdChooser.getCurrentDirectory();
        String path = directory.getAbsolutePath();
        String fileName = sdChooser.getSelectedFile().getName();
        
        if(fileName.contains(".txt")){
            
        }else{
        fileName = fileName + ".txt";
        }
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path+"\\"+ fileName),"UTF-8"));
        CurrentFileDirectory = path + "\\" + fileName;//salvando no mesmo diretorio
        
        bw.write(resultado.getText());
        bw.close();
        }
        
    }catch(IOException e){
        JOptionPane.showMessageDialog(null, "Erro ao Salvar Arquivo");
    }
    
}               

[/code]

Use um PrintWriter em vez de um BufferedWriter. Use o método println. Exemplo:

               PrintWriter pw = new PrintWriter (new BufferedWriter(new OutputStreamWriter(new FileOutputStream(CurrentFileDirectory),"UTF-8")));  
               pw.println (resultado.getText());  
               pw.close();

[quote=entanglement]Use um PrintWriter em vez de um BufferedWriter. Use o método println. Exemplo:

PrintWriter pw = new PrintWriter (new BufferedWriter(new OutputStreamWriter(new FileOutputStream(CurrentFileDirectory),"UTF-8"))); pw.println (resultado.getText()); pw.close(); [/quote]

tudo q tiver buffer…devo trocar pra Print?

Bom, fica por sua conta descobrir o que fazer. Dica: PrintWriter tem o método println mas BufferedWriter não tem esse método :slight_smile:

RESOLVI O PROBLEMA!

No código onde possui:

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path+"\\"+ fileName),"UTF-8"));  
            CurrentFileDirectory = path + "\\" + fileName;  
              
              
            bw.write(resultado.getText());  
            bw.close();

Vocês deixarão da seguinte forma:


BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path+"\\"+ fileName),"UTF-8"));
            CurrentFileDirectory = path + "\\" + fileName;
           
             //Adicionem esse trecho abaixo para a quebra de linha
            String conteudo = resultado.getText().replaceAll("\n", //"resultado" é o nome da minha area de texto
            System.getProperty("line.separator"));
            bw.write(conteudo);

            bw.close();