2014-06-08 14 views
0

그래서 내 작업을 위해 무언가를 만들려고하고 있지만이 방법을 사용할 때마다 (인터넷에서 찾은) 매번 새로운 CSV 파일이 만들어 지지만 추가하려고합니다. 이전에 있었던 것을 제거하지 않고 매번 데이터를 가져올 수 있습니다.매번 새로운 CSV 파일을 만들지 마십시오.

  public static void generateCsvFile(String sFileName) { 
      try { 
       NummerS = Nummer.getText(); 
       LocatiesS = Locatie.getText(); 
       LoginS = Login.getText(); 
       Nummer5S = Nummer5.getText(); 
       Nummer1S = Nummer1.getText(); 
       DatumS = Datum.getText(); 


       FileWriter writer = new FileWriter(sFileName); 
       writer.append(NummerS); 
       writer.append(';'); 
       writer.append(LocatiesS); 
       writer.append(';'); 
       writer.append(LoginS); 
       writer.append(';'); 
       writer.append(DatumS); 
       writer.append(';'); 
       writer.append(Nummer1S); 
       writer.append(';'); 
       writer.append(Nummer5S); 
       writer.append(';'); 
       if(listt.getSelectedValue() != null) 
       { 
       writer.append(listt.getSelectedValue().toString()); 
       } 
       Workbook workbook = null; 
       try { 
        workbook = Workbook.getWorkbook(new File("F:\\test.xls")); 
       } catch (BiffException e1) { 

        e1.printStackTrace(); 
       } catch (IOException e1) { 

        e1.printStackTrace(); 
       } 

       writer.append(';'); 
       Sheet sheet = workbook.getSheet(0); 
       for(Cell c : sheet.getColumn(1)){ 
        if(listt.getSelectedValue() != null) 
        { 
         if(c.getContents().contains(listt.getSelectedValue().toString())){ 

         System.out.println(c.getColumn() + " , " + c.getRow()); 
         writer.append(sheet.getCell(c.getColumn()+1,c.getRow()).getContents()); 
         } else { 

         } 
       } 
       } 
       // generate whatever data you want 
       writer.append("\n"); 
       writer.flush(); 
       writer.close(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 

여기는 내가 메서드라고 부릅니다.

if(e.getSource().equals(save)){ 
    generateCsvFile("f:\\testss.csv"); 
    JOptionPane.showMessageDialog(null, "Saved!"); 
} 
+0

http://www.tutorialspot.com/java/java_filewriter_class.htm FileWriter (String fileName, boolean append) 추가 표시기에 대한 chk입니다. – ray

+0

[Java FileWriter with append mode] 가능한 복제본 (http://stackoverflow.com/questions/1225146/java-filewriter-with-append-mode) – Joe

답변

1

FileWriter를 만드는 동안 잘못된 생성자를 호출하고 있습니다. 다시 쓸 내용 :

new FileWriter(sFileName, true); 

이렇게하면 데이터가 보존되어야합니다. Here은 설명서에 대한 직접 링크입니다.

+0

나는 이것을했지만 여전히 그것을 덮어 씁니다 : / –

관련 문제