2010-09-23 11 views
21

come leggere un file specifico da sdcard. ho spinto il file in sdcard attraverso DDMS e sto cercando di leggerlo anche se in questo modo, ma questo mi dà un'eccezione. qualcuno può dirmi come puntare esattamente su quel file?leggendo un file specifico da sdcard in Android

il mio codice è questo.

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

risposta

47

Stai cercando di leggere una directory ... quello che ti serve è il file! Fai qualcosa del genere ... quindi, puoi leggere il file come vuoi.

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

nella mia applicazione i avere un file contactbackup.vcf che è memorizzato in sdcard. come posso leggere uno per uno file .vcf. @ Cristian: – pratik

+0

Ciao, posso chiedere se c'è un metodo per restituire il nome del file? se il nome del file è sconosciuto per me. @Cristian – kojh

1

di leggere qualsiasi file CSV (nel mio caso) da External Storage, abbiamo bisogno di un percorso per questo, una volta che avete percorso si può fare in questo modo ...

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*/ 
Problemi correlati