2011-05-13 23 views
7

我正在开发一个ANDROID项目,我必须从一些数据创建一个CSV文件。 我可以创建csv文件并通过创建标题存储数据。如何在Android中的现有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被创建并存储在SD卡。 我工作绝对好....

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

但是,当我尝试再次运行模拟器与一些新的数据,它会取代现有的行数据。

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

我坚持这个......请给我点建议如何进行..

在此先感谢....

+2

1.正确设置代码的格式,以便可以读取它。 2.不要使用太多'?' - 它肯定不会帮助你更快地回答 – Vladimir 2011-05-13 08:38:27

+0

感谢弗拉基米尔, – mH16 2011-05-14 09:52:37

+0

有没有更好的方式来存储数据在csv或excel文件,这将不会取代以前的data.i.e当运行模拟器时,它会在新的行写入新的数据。 – mH16 2011-05-14 09:55:23

回答

5

您可以尝试使用

FileWriter(String filename, boolean append) 

追加数据到文件末尾

相关问题