今天我把sd卡下面的应用目录删掉了,然后重新打开应用的时候,出现上面的错误,说是找不到该file,然后不断的加log调试,最后通过查找资料了解到新建File的时候不支持新建两级目录,也就是只能一层一层的创建。
代码如下:
/**
* @param bitmap:图片的bitmap
* @param src:要保存到本地的路径
* @param bitName:要保存到本地的文件名
* @throws IOException
*/
private void saveBitmap(Bitmap bitmap,String src, String bitName) throws IOException
{
File pictureFileDir = new File(src);
if (!pictureFileDir.exists())
{
pictureFileDir.mkdir();
}
File pictureFileDirImage = new File(pictureFileDir.getAbsolutePath()+"/images/");
if (!pictureFileDirImage.exists())
{
pictureFileDirImage.mkdir();
}
File picFile = new File(pictureFileDirImage.getAbsolutePath()+"/"+ bitName);
if(!picFile.exists()){
picFile.createNewFile();
}
FileOutputStream out;
try{
out = new FileOutputStream(picFile);
if(bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out))
{
out.flush();
out.close();
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}