尝试FileInputStream和FileOutputSteam都抛出异常

时间:2011-05-22 05:34:23

标签: android exception fileinputstream

try {
FileOutputStream out = new FileOutputStream("p1");
pictureTaken.compress(Bitmap.CompressFormat.PNG, 90, out);
out.close();
} catch (Exception e) {
e.printStackTrace();
}

        case R.id.open:
        ImageView im = (ImageView) findViewById(R.id.im);
        try {
            FileInputStream in = new FileInputStream("p1");
            BufferedInputStream buf = new BufferedInputStream(in);
            byte[] bitMapA= new byte[buf.available()];
            buf.read(bitMapA);
            Bitmap bM = BitmapFactory.decodeByteArray(bitMapA, 0, bitMapA.length);
            im.setImageBitmap(bM);
            if (in != null) {
            in.close();
            }
            if (buf != null) {
            buf.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        break;

两者都尝试了,但他们没有传递de-bug,他们只是抓住了...我在网上大部分这些部分并根据我的需要修改它们,但即便如此,这一切都有意义并且有效在我的脑子里。只是不明白它为什么抛出异常。

1 个答案:

答案 0 :(得分:2)

听起来就像它在Android上,从你正在使用的路径(p1),你只是想保存到应用程序运行文件夹中的文件。从广义上讲,你不能写到任何目录。你会想做这样的事情:

FileOutputStream out = openFileOutput ("p1", MODE_WORLD_WRITABLE);

在第一个代码块中,然后:

FileInputStream in = openFileInput("p1");

在第二个代码块中。