Android,使用FileInputStream从SDC读取文件,报空指针错误

发布于 2024-10-21 17:19:01 字数 369 浏览 2 评论 0原文

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

文件路径=“/sdcard/myfile/testFile” FileInputStream fileIn = null;
文件输入 = 新 文件输入流(文件路径);字节 [] InBuf = 新字节[1024];
fileIn.read(InBuf);施特鲁布格 文件内容 = new String(InBuf);
fileIn.close();

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

I used FileInputStream class when I was trying to read something from my files reside in SDCard, the codes are as follows:
Code:

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

when I ran my program, android keep reporting null pointer error on my last line:"fileIn.close", I really didn't know the reason

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

薔薇婲 2024-10-28 17:19:01

像这样使用它:

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

您一定缺少扩展名。

Use it like this:

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

You must be missing the extension.

澜川若宁 2024-10-28 17:19:01

昨晚我工作到很晚,终于成功了,虽然我不确定这是否是确切的原因。我只是尝试了以下方法,然后没有再出现空指针报告,

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

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

I worked till late last night, finally, I make it work, though I am not sure if it is exact reason. I simply tried the following methods, then no more null pointer report came,

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

Any way, thank you so much for your help. ^^

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文