leyendo un archivo específico de sdcard en android

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?

mi código es esto

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

Estás tratando de leer un directorio … ¡lo que necesitas 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"); 

Para leer cualquier archivo (CSV en mi caso) desde almacenamiento externo, necesitamos una ruta para él, una vez que tenga la ruta, puede hacer 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*/