我正在使用以下功能来保存一些数据。mydata 是用户输入的双列表,而 dates_Strings 是列表(以字符串为数据类型),其中包含字符串格式的日期。
public void savefunc(){
SimpleDateFormat thedate = new SimpleDateFormat("dd/MM/yyyy",Locale.US);
Date d=new Date();
String formattedDate=thedate.format(d);
dates_Strings.add(formattedDate);
double thedata=Double.parseDouble(value.getText().toString().trim());
mydata.add(thedata);
File sdCard = Environment.getExternalStorageDirectory();
File directory = new File (sdCard, "MyFiles");
directory.mkdirs();
File file = new File(directory, filename);
FileOutputStream fos;
try {
fos = new FileOutputStream(file,true);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
for (int i=0;i<mydata.size();i++){
bw.write(mydata.get(i)+","+dates_Strings.get(i)+"\n");
}
value.setText("");
bw.flush();
bw.close();
} catch (IOException e2) {
e2.printStackTrace();
}//catch
}
现在,问题是保存时会发生以下情况:
例如,如果我输入“1”+保存,“2”+保存,“3”+保存+“4”+保存...
在文件中我可以看到
1.0 -> 2013 年 7 月 5 日
1.0 -> 2013 年 7 月 5 日
2.0 -> 2013 年 7 月 5 日
3.0 -> 2013 年 7 月 5 日
3.0 -> 2013 年 7 月 5 日
4.0 -> 2013 年 7 月 5 日