相同的字段在csv文件中更新,而不是从Android应用程序添加新值

时间:2015-09-22 12:14:26

标签: android csv

我是android新手。我正在开发一个应用程序,我想在其中为csv文件添加新值,但相同的值会更新。

这是我的代码

    File root = Environment.getExternalStorageDirectory();
    gpxfile = new File(root, "mydata.csv");
    startService();
}
private void startService()
{
    Calendar c = Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat("dd:MMMM:yyyy HH:mm:ss a");
    strDate = sdf.format(c.getTime());
    // toastHandler.sendEmptyMessage(0);

    double latitude1 = gps.getLatitude();
    double longitude1 = gps.getLongitude();

    try {
        writer = new FileWriter(gpxfile);
        writeCsvHeader("Username","DateTime", "Latitude", "Longitude");
        writeCsvData(""+username1,"" + strDate, latitude1, longitude1);

       // writer.flush();
        writer.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

private void writeCsvHeader(String user, String h1, String h2, String h3) throws IOException {
    String line = String.format("%s,%s,%s,%s\n", user, h1, h2, h3);
    writer.write(line);
}

private void writeCsvData(String userr,String date, double lat, double lon) throws IOException {
    String line = String.format("%s,%s,%f,%f\n",userr, date, lat, lon);
    writer.write(line);
}

1 个答案:

答案 0 :(得分:0)

我的建议:

final boolean doAppend = gpxFile.exists();

writer = new FileWriter(gpxfile, doAppend);

if ( doAppend == false) {
    writeCsvHeader("Username","DateTime", "Latitude", "Longitude");
}
writeCsvData(""+username1,"" + strDate, latitude1, longitude1);