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