odczyt określonego pliku z sdcard w systemie android

Jak odczytać konkretny plik z sdcard. popchnąłem plik w sdcard przez DDMS i próbuję go odczytać w ten sposób, ale to daje mi wyjątek. czy ktoś może mi powiedzieć, jak dokładnie wskazać te akta?

Mój kod jest taki.
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
FileInputStream iStream =  new FileInputStream(path);
Author: Cristian, 2010-09-23

2 answers

Próbujesz odczytać katalog... to czego potrzebujesz to teczka! Zrób coś takiego... następnie możesz odczytać plik, jak chcesz.

File dir = Environment.getExternalStorageDirectory();
File yourFile = new File(dir, "path/to/the/file/inside/the/sdcard.ext");
 47
Author: Cristian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-23 15:35:21

Aby odczytać dowolny plik (w moim przypadku CSV) z pamięci zewnętrznej, potrzebujemy do niego ścieżki,gdy już masz ścieżkę, możesz to zrobić w ten sposób...

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*/
 0
Author: JAYESH,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-16 04:11:35