2011-05-13 5 views
7

Estoy trabajando en un proyecto de ANDROID donde tengo que crear un archivo CSV a partir de algunos datos. Puedo crear archivos csv y almacenar datos creando subtítulos.¿Cómo almacenar nuevos valores en un archivo csv existente en Android?

Fragmento de código para que se da a continuación ::

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(); 
     } 
    } 
} 

Al igual que en el código anterior, podemos ver, Example1.csv se crea y almacena en SDCARD. Funciono absolutamente bien ....

Pero quiero escribir algunos datos nuevos en filas y columnas nuevas en Example1.csv.

Pero cuando trato de ejecutar el emulador de nuevo con algunos datos nuevos, reemplaza los datos de fila existentes.

Mi pregunta es, ¿cómo podemos escribir nuevos datos en una nueva fila sin reemplazar los datos anteriores? ¿Cómo escribir nuevos datos en nuevas filas?

estoy atascado en este ... Por favor, dame sugerencias de cómo proceder ..

Gracias de antemano ....

+2

1. Formatee su código correctamente para que sea posible leerlo. 2. No use demasiado '?' - Definitivamente no le ayudará a responder más rápido – Vladimir

+0

Gracias Vladimir, – mH16

+0

¿Hay una mejor manera de almacenar datos en un archivo csv o excel que no reemplazará los datos anteriores. Es decir, cuando ejecute el emulador, escribirá nuevos datos en la nueva fila. – mH16

Respuesta

5

Usted puede intentar usar

FileWriter(String filename, boolean append) 

para anexar datos al final del archivo

Cuestiones relacionadas