PS:这两个方法,完全可以配合之前的图片下载一起使用。
首先一定是权限获取:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAG"/> //写入权限
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> //文件系统挂载
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> //读取权限
存储方法,将图片存入本地SD卡文件夹:
public static void saveFile(Bitmap bm, String fileName) throws IOException {
File dirFile = new File(SAVE_PATH);
if(!dirFile.exists()){
dirFile.mkdir();//创建文件夹
}
File myCaptureFile = new File(SAVE_PATH +File.separator+ fileName);
if(myCaptureFile.exists()){
myCaptureFile.delete();//删除重名的文件
}
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(myCaptureFile));
<span style="white-space:pre"> </span>//数值代表压缩比,100是不压缩, 90是压缩10%
bm.compress(Bitmap.CompressFormat.JPEG, 100, bos);
bos.flush();
bos.close();
}
读取方法返回图片组:
public final static String SAVE_PATH=Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator +"myPic";
public static Bitmap[] getSavedBitmap() {
Log.e("ImageUtil_saveBitmap", "获取本地保存的图片");
File f = new File(SAVE_PATH);
File[] files = f.listFiles();// 列出所有文件
if(files!=null&&files.length>0){
Bitmap[] bm = new Bitmap[files.length];
for (int i = 0; i < files.length; i++) {
String path=SAVE_PATH+File.separator+files[i].getName();//拼接路径
bm[i]=BitmapFactory.decodeFile(path);//获取图片,并放入图片组
}
return bm;
}
return null;
}