2016-04-11 27 views
0

Kullanıcı girişini bir formda bir .CSV dosyasına kaydeden basit bir program yapmaya çalışıyorum. İlk kez nerede yazacağı konusunda çalışıyorum.Bir CSV dosyasına yazarken, önceki dizenin üzerine yazılır

Çıktıysam veya ikinci bir değerler kümesini girer ve kaydet'i tıklatarak dosyada önceki dizenin üzerine yazılır.

  try { 
       PrintWriter pw = new PrintWriter(new File("customer.csv")); 
       StringBuilder sb = new StringBuilder(); 

       sb.append(merch); 
       sb.append(','); 
       sb.append(cont); 
       sb.append(','); 
       sb.append(mail); 
       sb.append(','); 
       sb.append(cphone); 
       sb.append('\n'); 

       pw.write(sb.toString()); 
       pw.flush(); 
       pw.close(); 

      } catch (FileNotFoundException e1) { 
       JOptionPane.showMessageDialog(frame, "File Not  Located"); 
       e1.printStackTrace(); 

'sb.append (' \ n ');' Sonuna kadar bunu düzeltecek düşüncesi, ama yapmadı.

cevap

3

Sen modu ekleme dosyayı açmak gerekir: Java 8 kullanıyorsanız

PrintWriter pw = new PrintWriter(new FileWriter("customer.csv", true)); 
+0

. Teşekkürler! – Tom

0
PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter("file.txt", true))); 
0

, bunu böyle temizlemek isteyebilirsiniz: düzelttim

try(Writer pw = new PrintWriter(new BufferedWriter(new FileWriter("customer.csv", true)))) { 
     pw.write(new StringJoiner(",", "", "\n") 
      .add(merch) 
      .add(cont) 
      .add(mail) 
      .add(cphone) 
      .toString() 
     ); 
    } catch (IOException e1) { 
     JOptionPane.showMessageDialog(frame, "File Not Located"); 
     e1.printStackTrace(); 
    } 
İlgili konular