尝试将图像保存到外部存储并获取上述例外。读过周围,尝试了不同的方法(在代码中注释掉),但一无所获工作:未找到文件例外将图像保存到外部存储
java.io.FileNotFoundException: /storage/emulated/0/Pictures/saved_images/image0.jpg: open failed: ENOENT (No such file or directory)
,代码:, 咨询
// check if ext storage is available to write
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
// media available
canSaveToExternalSD = true;
// String root =
// Environment.getExternalStorageDirectory().toString();
/*
* String root = Environment.getExternalStoragePublicDirectory
* (Environment.DIRECTORY_PICTURES).toString() ;
*/
// String root =
// Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
// + File.separator + diveAlbum;
String root = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES).toString()
+ "/saved_images";
File myDir = new File(root);
myDir.mkdirs();
if (!myDir.exists()) {
makeToast("Directory does not exists: " + myDir);
Log.d(TAG, "Dir does not exist!");
}
String photoName = "image" + diveNum + ".jpg";
File file = new File(root + "/" + photoName);
// File file = new File(myDir,photoName);
if (file.exists()) {
file.delete();
makeToast("Name already exists!");
}
try {
FileOutputStream out = new FileOutputStream(file);
image.compress(Bitmap.CompressFormat.JPEG, 90, out);// compress
// image fro
// output
out.flush();
out.close();
创建FileOutputStream中时引发的异常OS赞赏。 夏兰
谢谢,但你能看到我的代码有什么问题吗?我遵循devolper安卓网站的指南 – dancingbush