如何在Android中的现有csv文件中存储新值?

时间:2011-05-13 08:32:55

标签: android

我正在开发一个ANDROID项目,我必须从一些数据创建一个CSV文件。 我可以通过创建Captions来创建csv文件并存储数据。

代码片段在下面给出::

package com.csvtry;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;

public class csvtry extends Activity {
    public static String abc=null;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        generateCsvFile("Example1.csv"); 

    }
    private static void generateCsvFile(String sFileName)
    {
        try
        {
            File root = Environment.getExternalStorageDirectory();
            File gpxfile = new File(root, sFileName);
            FileWriter writer = new FileWriter(gpxfile);

            abc="Guwahati";

            writer.append("Emp_Name");
            writer.append(',');
            writer.append("Adress");
            writer.append('\n');

            writer.append("hussain");
            writer.append(',');
            writer.append("Delhi");
            writer.append('\n');

            //generate whatever data you want

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

如上面的代码所示,我们可以看到,Example1.csv被创建并存储在SDCARD中。 我工作得很好......

但我想在Example1.csv中的新行和列中写一些新数据。

但是当我尝试使用一些新数据再次运行模拟器时,它会替换现有的行数据。

我的问题是,如何在不替换以前数据的情况下在新行中编写新数据? 如何在新行中写入新数据???

我坚持这个......请给我建议如何继续......

提前致谢....

1 个答案:

答案 0 :(得分:5)

您可以尝试使用

FileWriter(String filename, boolean append)

将数据附加到文件末尾