Android, используя FileInputStream для чтения файла из SDC, сообщая об ошибке нулевого указателя - PullRequest
0 голосов
/ 14 марта 2011

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

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

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

Ответы [ 2 ]

1 голос
/ 14 марта 2011

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

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

У вас, должно быть, отсутствует расширение.

0 голосов
/ 15 марта 2011

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

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();        
        }   
    } 
}

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

...