安卓移动文件(图片)到指定目录,并在相册中显示

安卓移动文件(图片)到指定目录,并在相册中显示

今天记录一下如何将手机中的文件(针对的是图片)移动到我们指定的文件夹下,同时让在相册中显示。
第一步,移动文件:

移动文件网上代码很多,就是文件的读写,我随便复制了一个,具体来源有点忘了。
 /**
     * 复制单个文件
     *
     * @param oldPath String  原文件路径  如:c:/fqf.txt
     * @param newPath String  复制后路径  如:f:/fqf.txt
     * @return boolean
     */
    public void copyFile(String oldPath, String newPath) {
        try {
//           int  bytesum  =  0;
            int byteread = 0;
            File oldfile = new File(oldPath);
            if (oldfile.exists()) {  //文件存在时
                InputStream inStream = new FileInputStream(oldPath);  //读入原文件
                FileOutputStream fs = new FileOutputStream(newPath);
                byte[] buffer = new byte[1444];
//               int  length;
                while ((byteread = inStream.read(buffer)) != -1) {
//                   bytesum  +=  byteread;  //字节数  文件大小
//                   System.out.println(bytesum);
                    fs.write(buffer, 0, byteread);
                }
                inStream.close();
            }
        } catch (Exception e) {
            System.out.println("复制单个文件操作出错");
            e.printStackTrace();

        }

    }

这样,文件就copy了一份。不过这个时候去相册看,会发现没有。但是文件管理里面确实有这个图片。那么如何让相册显示呢?其实很简单,就是copy完之后,通知一下系统,有新的图片了就ok了。代码也很简单:

Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
                Uri uri = Uri.fromFile(new File(newPath));
                intent.setData(uri);
                sendBroadcast(intent);
               说明:Uri.fromFile(new File(newPath))中参数就是你新地址的文件file.

ok,,至此,就完成了文件的移动已经在相册中显示。
最后,如果不想相册中重复显示图片,可以删除之前的:
File oldFile = new File(oldPath);
oldFile.delete();

本文记录了如何简单的实现文件移动到指定文件夹,以及在相册中显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值