Android, используя FileInputStream для чтения файла из SDC, сообщая об ошибке нулевого указателя

Я использовал класс FileInputStream, когда пытался прочитать что-то из моих файлов, находящихся на SDCard, коды следующие: Код:

filepath = "/ sdcard / myfile / testFile" FileInputStream fileIn = null;
fileIn = новый FileInputStream(filepath); byte [] InBuf = новый байт [1024];
fileIn.read (InBuf); Strubg fileContent = new String (InBuf);
fileIn.close ();

когда я запускал свою программу, Android продолжал сообщать об ошибке нулевого указателя в моей последней строке:"fileIn.close", я действительно не знал причину

2 ответа

Решение

Я работал до поздней ночи, наконец, я заставляю это работать, хотя я не уверен, является ли это точной причиной. Я просто попробовал следующие методы, затем отчет о нулевом указателе больше не приходил,

try  
{
    InputStream fileIn = null;
    filepath = "/sdcard/myfile/testFile";
    fileIn = new BufferedInputStrream(new
    FileInputStream(filepath));
    byte [] InBuf = new byte[1024];
    fileIn.read(InBuf);
    ...
    ...
    ...  
} catch(Exception e) {
    e.printStackTrace();  
} finally {     
    if(fileIn != null) 
    {       
        try         
        {           
            fileIn.close();         
        } catch(IOException e) {            
            e.printStackTrace();        
        }   
    } 
}

В любом случае, большое спасибо за вашу помощь. ^^

Используйте это так:

filePath=Environment.getExternalStorageDirectory().getAbsolutePath()+"/myfile/textfile.extenstion"

Вы должны пропустить расширение.

Другие вопросы по тегам