Code Bye

安卓保存图片到指定路径

主要代码如下,老是提示路径 not a directory
private static final String SDCARD_CACHE_IMG_PATH = Constants.SD_PATH
+ “/Children/ImagesStore/”;

public static boolean saveImage(Bitmap bitmap, String path) {//path是传过来的文件名,时间+.png
File file = new File(SDCARD_CACHE_IMG_PATH, path);
if (file.exists()) {
file.delete();
}

FileOutputStream outStream = null;
try {
outStream = new FileOutputStream(SDCARD_CACHE_IMG_PATH + path);
//这里debug  outStream=null走到这里后面就不执行了
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);

} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
if (outStream != null) {
try {
outStream.flush();
outStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return true;
}

8分
具体异常信息是什么
8分
你不把错误贴出来  咋个解决嘛   还有就是 你确定指定的地址有图片
8分
应该是这里你把文件/文件夹删除了,没有这个地址。
8分
确实。当你检测到这个文件存在的话你就把它删除掉了。而你删除掉又没有重新创建一个。  
建议你判断文件夹存在与否。不存在的话就创建文件夹,存在的话就不做处理。
把下面这个
if (file.exists()) {
file.delete();
}
改成
if(!file.exists()){
  file.mkdirs();
}
8分
楼上的都说得很清楚了,个人觉得你其实是想判断没有文件夹的时候才创建一个,其实,个人觉得这个没必要,JAVA中这个new File()貌似是这样执行的,如果没有该文件,就创建一个新文件,如果有,那么,就直接覆盖之前的内容,因为不清楚JAVA中是怎么追加文件内容的所以我个人用的时候都是直接new File,呵呵。大牛勿喷,不过,可以的话,请讲讲JAVA中的追加方法。
谢谢大家,原因已经找到,是创建的路径太深   找不到文件

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明安卓保存图片到指定路径