Java 无法将新行字符串附加到本地存储的文件中

Java 无法将新行字符串附加到本地存储的文件中,java,android,Java,Android,我正在将一些csv保存到本地android存储上的一个文件中。我想在现有csv文件中添加新行,但我的代码覆盖了以前的数据,我只能看到一行csv文本。请指导我的错误所在。这是我当前的代码 private void saveLogFile(Long activityTimestamp, Long currentTime, Integer activityType) { if (activityTimestamp != null && currentTime !

我正在将一些csv保存到本地android存储上的一个文件中。我想在现有csv文件中添加新行,但我的代码覆盖了以前的数据,我只能看到一行csv文本。请指导我的错误所在。这是我当前的代码

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");
    }

}
private void saveLogFile(长activityTimestamp、长currentTime、,
整数活动类型){
如果(activityTimestamp!=null&¤tTime!=null
&&activityType!=null){
File dir=新文件(Environment.getExternalStorageDirectory()
.getAbsolutePath()+“/ACTIVITY_RECOGNITION”);
dir.mkdirs();
File myFile=新文件(dir,“activity_log.csv”);
试一试{
如果(!myFile.exists()){
myFile.createNewFile();
}
如果(myFile.exists()){
CSVWriter writer=new-CSVWriter(new-FileWriter(myFile));
//列表数据=新的ArrayList();
//添加(新字符串[]{activityTimestamp.toString(),currentTime.toString(),activityType.toString()});
字符串[]数据={activityTimestamp.toString(),currentTime.toString(),activityType.toString()};
writer.writeNext(数据);
writer.close();
}
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}否则{
d(“saveLogFile”,“某些数据为空”);
}
}
唱诵

new FileWriter(myFile)

第二个参数是
append
标志。您可以找到文档

请参阅,使用
FileWriter(File-File,boolean-append)即:

CSVWriter writer = new CSVWriter(new FileWriter(myFile, true));
CSVWriter writer = new CSVWriter(new FileWriter(myFile, true));