栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java实现删除或更新数据时同步删除磁盘图片

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java实现删除或更新数据时同步删除磁盘图片

1.删除

(格式如123.png;123.png;123.png)

            Road road = roadService.selectById(Long.valueOf(id));
            String[] split1 = road.getImgurl().split(";");
            for (String s1 : split1) {
                File file = new File(url + s1);
                if (file.exists()) {
                    file.delete();
                }
            }
      
2.更新

1.多个(格式如123.png;123.png;123.png)

        //是否删除图片
        String[] oldImgUrlList = roadService.selectById(road.getId()).getImgurl().split(";");//获取数据库里面的图片地址
        String[] imgUrlList = road.getImgurl().split(";");//获取传过来的图片地址
        String[] result_minus = StringManageUtil.minus(oldImgUrlList, imgUrlList);
        for (String imgUrl : result_minus) {//新旧路径差集,删除不存在于数据里的图片地址
            if (StringUtils.isNotBlank(imgUrl)) {
                File file = new File(url + imgUrl);
                if (file.exists()) {
                    file.delete();
                }
            }
        }

取差集工具类

    //求两个数组的差集
    public static String[] minus(String[] arr1, String[] arr2) {
        linkedList list = new linkedList();
        linkedList history = new linkedList();
        String[] longerArr = arr1;
        String[] shorterArr = arr2;
        //找出较长的数组来减较短的数组
        if (arr1.length > arr2.length) {
            longerArr = arr2;
            shorterArr = arr1;
        }
        for (String str : longerArr) {
            if (!list.contains(str)) {
                list.add(str);
            }
        }
        for (String str : shorterArr) {
            if (list.contains(str)) {
                history.add(str);
                list.remove(str);
            } else {
                if (!history.contains(str)) {
                    list.add(str);
                }
            }
        }

        String[] result = {};
        return list.toArray(result);
    }

2.单个

    //老图
        String imgurl = bussupervisionStationService.select(bussupervisionStation.getId()).getImgurl();
        //新图
        String imgurl1 = bussupervisionStation.getImgurl();
        //不一样则删除老图
        if (imgurl!=null){
       if (!Objects.equals(imgurl,imgurl1)){
           File file = new File(url + imgurl);
           if (file.exists()) {
               file.delete();
           }
       }}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/723743.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号