2010-09-23 30 views
21

cómo leer un archivo específico de sdcard. He introducido el archivo en sdcard a través de DDMS y estoy tratando de leerlo de esta manera, pero esto me da una excepción. ¿Alguien puede decirme cómo señalar exactamente ese archivo?leyendo un archivo específico de sdcard en android

mi código es esto.

String path = Environment.getExternalStorageDirectory().getAbsolutePath(); 
FileInputStream iStream = new FileInputStream(path); 

Respuesta

47

Usted está tratando de leer un directorio ... ¡lo que necesita es el archivo! Haz algo como esto ... entonces, puedes leer el archivo como quieras.

File dir = Environment.getExternalStorageDirectory(); 
File yourFile = new File(dir, "path/to/the/file/inside/the/sdcard.ext"); 
+0

en mi i aplicación tener un archivo contactbackup.vcf que se almacena en sdcard. ¿Cómo puedo leer uno por uno el archivo .vcf? @ Cristian: – pratik

+0

Hola, ¿puedo preguntar si hay un método para devolver el nombre del archivo? si el nombre del archivo es desconocido para mí @cristiano – kojh

1

Para leer cualquier archivo CSV (en mi caso) de almacenamiento externo, necesitamos un camino para que, una vez que tenga ruta se puede hacer como esto ...

void readFileData(String path) throws FileNotFoundException 
    { 

     String[] data; 
     File file = new File(path); 
     if (file.exists()) 
     { 
      BufferedReader br = new BufferedReader(new FileReader(file)); 
      try 
      { 
       String csvLine; 
       while ((csvLine = br.readLine()) != null) 
       { 
        data=csvLine.split(","); 
        try 
        { 
         Toast.makeText(getApplicationContext(),data[0]+" "+data[1],Toast.LENGTH_SHORT).show(); 
        } 
        catch (Exception e) 
        { 
         Log.e("Problem",e.toString()); 
        } 
       } 
      } 
      catch (IOException ex) 
      { 
       throw new RuntimeException("Error in reading CSV file: "+ex); 
      } 
     } 
     else 
     { 
      Toast.makeText(getApplicationContext(),"file not exists",Toast.LENGTH_SHORT).show(); 
     } 
    } 

/* 
csv file data 

17IT1,GOOGLE 
17IT2,AMAZON 
17IT3,FACEBOOK*/ 
Cuestiones relacionadas