我正在尝试保存在imageview上显示的位图。我的理解是我需要
这就是我所做的
try {
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File file = new File(path, "name.png");
FileOutputStream out = null;
if (file.exists()) {
// do something awesome
} else {
out = new FileOutputStream(file);
currentimage.compress(Bitmap.CompressFormat.PNG, 100, out);
}
out.close();
} catch (Exception e) {
e.printStackTrace();
}
我正在尝试更改保存的文件名,我知道它会进入FileOutputStream但不太确定
答案 0 :(得分:0)
您的代码看起来正确,唯一的问题是您没有关闭OutputStream。 你需要添加
try {
out.close();
} catch (IOExcetion ex) {
}
到它。
答案 1 :(得分:0)
您需要通过扩展您到达公共图片目录的路径来提供文件名。
FileOutputStream out = new FileOutputStream(new File(path, "name.png"));
或者,如果您想先检查它是否已存在:
File file = new File(path, "name.png");
if (file.exists()) {
// do something awesome
// perhaps save over top
// perhaps pick another name
} else {
// save it
FileOutputStream out = new FileOutputStream(file);
currentimage.compress(Bitmap.CompressFormat.PNG, 100, out);
}