将Bitmap写为File
写入SDCard中,权限
//在SDCard中创建与删除文件权限
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
//往SDCard写入数据权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission
判断SD卡是否存在
private boolean ExistSDCard(){
if(android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)){
return true;
}
return false;
}
String local_file = Environment.getExternalStorageDirectory().getAbsolutePath()+"/down/";
// File 可为文件目录或文件
File f = new File(local_file);
if(!f.exists()){
f.mkdirs(); //创建目录
}
String local_file = f.getAbsolutePath()+"/"+filename;
File f = new File(local_file);
/在内存创建文件来保存bitmap
File f = new File(context.getCacheDir(),filename);
//将bitmap转化为byte array
Bitmap bitmap = ...;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG,0 /* ignored for PNG*/,bos);
byte[] bitmapdata = bos.toByteArray();
//将bytes转化为file
FileOutputStream fos = new FileOutputStream(f);
fos.write(bitmapdata);
//创建新文件
f.createNewFile();