2016-03-20 5 views
2

Mein Code ist, wenn Benutzer in den Text Name eingeben, wird es als Textdatei exportieren und den Namen aufzeichnen. Zum BeispielExportieren von Textdatei und hinzugefügte Namen in das Textfeld

  • I 1. Mal "James" in dem Text eingereicht eingegeben haben, wird es "James" in der Textdatei angezeigt. Ich gebe das zweite Mal "Agnes" ein, es erscheint "Agnes" in der Textdatei. Aber es erscheint nur ein Name im Text Datei.

    Ich möchte, dass alle Namen erscheinen, was auch immer Benutzer in den Textfeldern. Wie ändere ich meine Codes?

    try 
    {   
        new JTextField(); 
        // create new file 
        String path="C:\\export.txt"; 
        File file = new File(path); 
    
        // if file doesnt exists, then create it 
        if (!file.exists()) 
        { 
         file.createNewFile(); 
        } 
    
        FileWriter fw = new FileWriter(file.getAbsoluteFile()); 
        BufferedWriter bw = new BufferedWriter(fw); 
        // write in file 
        // bw.write(txtName.getText()); 
        if (txtName.getText() ==null) 
        { 
         bw.write(txtName.getText()); 
         bw.write('\n'); 
         System.out.print("1st Name:" +txtName.getText()); 
        } 
        else 
         if (txtName.getText()!=null) 
         { 
          // bw.write('\n'); 
          bw.write(txtName.getText()); 
          System.out.print("2nd Name:" +txtName.getText()); 
         }      
         // close connection 
        bw.flush(); 
        bw.close(); 
        fw.close(); 
    } 
    catch(Exception e) 
    { 
        System.out.println(e); 
    } 
    

Bitte advise.Thanks

+0

In Ihrem Fall mit '.write 'die ganze Zeit, wenn Sie einen neuen Text einfügen, wird der alte gelöscht. Sie sollten den neuen Text – dpaul1994

Antwort

4

Sie sollten Zufügen-Modus verwenden, wenn Write-Datei, wie:

FileWriter fw = new FileWriter(file.getAbsoluteFile(), true); 
+0

thz Sir hinzufügen, aber es erscheint nur in einer Zeile Ich möchte als nächstes einen nach dem anderen Namen erscheinen ... = ( – coder

+0

Hi @coder, wenn Sie in Windows-System sind, sollte die Zeilennummer sein : '\ r \ n',' bw.write ("\ r \ n"); ' – chengpohi

+0

aber der beste Weg es zu tun:" bw.write (System.getProperty ("line.separator")) " – chengpohi

1

Bearbeiten wieder:

  FileWriter fileWritter = new FileWriter(file.getName(),true); 
      BufferedWriter bw = new BufferedWriter(fileWritter); 

      if (txtName.getText()!=null){ 

      //this line edited 
       bw.write(txtName.getText()+"\n");    
       System.out.print("2nd Name:" +txtName.getText()); 
      } 
+0

danke sir die Ausgabe immer noch nur in einer Zeile Ich möchte in einem Namen von einem Namen getrennt werden. wie Kann ich modifizieren? – coder

Verwandte Themen