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は私の最後の行にnullポインタエラーを報告し続けます: "fileIn.close"、私は本当に理由を知りませんでした

4

2 に答える 2

1

次のように使用します。

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

拡張機能が欠落している必要があります。

于 2011-03-14T11:53:27.993 に答える
0

私は昨夜遅くまで働きました、それが正確な理由であるかどうかはわかりませんが、最終的に私はそれを動かします。次の方法を試しただけで、nullポインタレポートは表示されなくなりました。

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 に答える