0

当我尝试从位于 SDCard 中的文件中读取内容时,我使用了 FileInputStream 类,代码如下: 代码:

filepath = "/sdcard/myfile/testFile" FileInputStream fileIn = null;
fileIn = new FileInputStream(filepath); 字节 [] InBuf = 新字节 [1024];
fileIn.read(InBuf); Strubg fileContent = new String(InBuf);
fileIn.close();

当我运行我的程序时,android一直在我的最后一行报告空指针错误:“fileIn.close”,我真的不知道原因

4

2 回答 2

1

像这样使用它:

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

您必须缺少扩展名。

于 2011-03-14T11:53:27.993 回答
0

我昨晚一直工作到深夜,终于,我成功了,虽然我不确定这是否是确切的原因。我只是尝试了以下方法,然后没有更多的空指针报告来了,

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

无论如何,非常感谢您的帮助。^^

于 2011-03-15T00:36:37.970 回答