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,他们只是抓住了...我在网上大部分这些部分并根据我的需要修改它们,但即便如此,这一切都有意义并且有效在我的脑子里。只是不明白它为什么抛出异常。
答案 0 :(得分:2)
听起来就像它在Android上,从你正在使用的路径(p1
),你只是想保存到应用程序运行文件夹中的文件。从广义上讲,你不能写到任何目录。你会想做这样的事情:
FileOutputStream out = openFileOutput ("p1", MODE_WORLD_WRITABLE);
在第一个代码块中,然后:
FileInputStream in = openFileInput("p1");
在第二个代码块中。