【Java】导出的压缩文件名重复则在后面叠加(数字)

1、场景

db 里边存了一堆允许重名的文档,需要导出,且自动给重名的文档叠加数字尾缀。比如有文档名字分别是【全国富婆通讯录】、【全国富婆通讯录】、【全国富婆通讯录(1)】…你就不要问为什么要上传重名文档到 db 了,甚至还有已经带了尾缀的文档(可能富婆的世界就是这么奇妙吧*!@##%^&…)
那么生成 doc 塞进 zip 时就会异常:
java.util.zip.ZipException: duplicate entry

2、主旨

导出文件(略),需要 导出 doc /并且压缩成 zip /并且数据源于富文本 请参考 Java 富文本 导出 word 压缩包, 本篇主要讲导出的文件名重名处理。

3、思路

用 Hashmap 对文件名字去重并存储叠加数字。

4、代码

1)先有一个实体类 RichWoman.java

public class RichWoman {
   
    String name = "";
    String content = "";

    public String getName() {
   
        return name;
    }

    public void setName(String name) {
   
        this.name = name;
    }

    public String getContent() {
   
        return content;
    }

    public void setContent(String content) {
   
        this.content = content;
    }
}

2)再有一个叠加命名类 TestHashmap.java

import java.util.*;

public class TestHashmap {
   
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值