2014-06-17 53 views
1

我保存了一些csv到本地android存儲上的文件。我想追加新的行到現有的csv文件,但我的代碼覆蓋了以前的數據,我可以看到只是一行csv文本。請指導我出錯的地方。這裏是我目前的代碼。不能附加新的行字符串到一個文件Android本地存儲

private void saveLogFile(Long activityTimestamp, Long currentTime, 
     Integer activityType) { 
    if (activityTimestamp != null && currentTime != null 
      && activityType != null) { 
     File dir = new File(Environment.getExternalStorageDirectory() 
       .getAbsolutePath() + "/ACTIVITY_RECOGNITION"); 
     dir.mkdirs(); 
     File myFile = new File(dir, "activity_log.csv"); 

     try { 

      if (!myFile.exists()) { 
       myFile.createNewFile(); 
      } 
      if (myFile.exists()) { 
       CSVWriter writer = new CSVWriter(new FileWriter(myFile)); 
       //List<String[]> data = new ArrayList<String[]>(); 
       //data.add(new String[] { activityTimestamp.toString(),currentTime.toString(), activityType.toString() }); 
       String[] data={ activityTimestamp.toString(),currentTime.toString(), activityType.toString() }; 
       writer.writeNext(data); 
       writer.close(); 
      } 

     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    } else { 
     Log.d("saveLogFile", "some data is null"); 
    } 

} 

回答

2

CHANTE

new FileWriter(myFile) 

new FileWriter(myFile, true) 

的第二個參數是append標誌。 Here你可以找到

+1

謝謝你的作品就像一個魅力:) –

1

Java Docs的文檔,使用FileWriter(File file, boolean append);那就是:

CSVWriter writer = new CSVWriter(new FileWriter(myFile, true)); 
相關問題