将图片存入本地SD卡文件夹

本文介绍了在Android应用中如何实现图片的存储和读取功能。包括申请必要的权限,如写入外部存储、读取外部存储及文件系统挂载等。详细展示了如何将图片保存到SD卡指定目录的方法,以及如何从该目录读取所有图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
	 }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值