2009-08-25 10 views
0

Je veux écrire une chaîne dans un fichier texte qui devrait être sauvegardé dynamiquement par la boîte de dialogue de sauvegarde. J'ai effectué cette tâche statiquement, ce qui signifie que le fichier avec le nom de fichier spécifié est créé et que le texte est également écrit à partir de JTextArea. Je veux enregistrer ce fichier sur mon emplacement et avec mon prénom. Pouvez-vous s'il vous plaît me guider à cet égard?écrire du texte dans le fichier texte et l'enregistrer en utilisant saveDialog

do{ 
    String fileData=jTextArea1.getText(); 
    byte buf[]=fileData.getBytes(); 

    JFileChooser chooser = new JFileChooser(); 
      FileNameExtensionFilter filter = new FileNameExtensionFilter("Text/fasta files", ".txt", ".fasta"); 
      chooser.setFileFilter(filter); 
      int returnVal = chooser.showSaveDialog(null); 

       if (returnVal == JFileChooser.APPROVE_OPTION) { 
        System.out.println("inside try after retVal"); 
        try{ 
         //OutputStream f2=new FileOutputStream("filename.txt"); 
         OutputStream f2=new FileOutputStream("file.txt"); 

         f2.write(buf); 
         f2.close(); 
         } catch (IOException ex) { 
          Logger.getLogger(CreatingFile.class.getName()).log(Level.SEVERE, null, ex); 
               } 


       } else { 
        return null; 
       } //else ends 


    // TODO add your handling code here: 
}while(true); 

Répondre

0

utilisation

new FileOutputStream(chooser.getName()); 

au lieu de

new FileOutputStream("file.txt"); 
1

utilisation chooser.getSelectedFile()

Utiliser un FileWriter, enveloppé dans un BufferedWriter, pas un FileOutputStream.

Et utilisez la méthode write (...) de JTextArea pour écrire le texte.

Questions connexes