2010-09-23 25 views
21

comment lire un fichier spécifique à partir de sdcard. J'ai poussé le fichier dans sdcard via DDMS et j'essaie de le lire de cette façon, mais cela me donne une exception. quelqu'un peut-il me dire comment pointer exactement sur ce fichier?lire un fichier spécifique à partir de sdcard dans android

mon code est celui-ci.

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

Répondre

47

Vous essayez de lire un répertoire ... ce que vous avez besoin est le fichier! Faites quelque chose comme ça ... alors, vous pouvez lire le fichier comme vous voulez.

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

dans mon i demande avoir un fichier contactbackup.vcf qui est stocké dans sdcard. comment puis-je lire un fichier .vcf. @ Cristian: – pratik

+0

Salut, puis-je demander s'il existe une méthode pour retourner le nom du fichier? si le nom du fichier m'est inconnu. @Cristian – kojh

1

Pour lire un fichier (CSV dans mon cas) de stockage externe, nous avons besoin d'un chemin pour cela, une fois que vous avez le chemin que vous pouvez faire comme ça ...

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