2011-05-13 50 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) 

追加數據到文件末尾

相關問題