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

4 respostas
J

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...
[url]http://www.youtube.com/watch?annotation_id=annotation_966402&feature=iv&src_vid=0McXhr_uzjI&v=jcjY7Ky4sNE[/url]

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

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

4 Respostas

E

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

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

tudo q tiver buffer…devo trocar pra Print?

E

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:

J

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();
Criado 25 de abril de 2013
Ultima resposta 25 de abr. de 2013
Respostas 4
Participantes 2