文件名相同之重命名

  public static void main(String[] args) {
        String name = "张三.png";
        List<String> list = Arrays.asList("张三.png", "1张三","张三1.png","张三3.png","张三2.png");
        String rename = findRename(name, list,0);
        System.out.println(rename);
    }
张三4.png
 public String findRename(String name, List<String> nameList, int nums) {
        int num = nums;
        for (String s : nameList) {
            if (s.startsWith(name)) {
                num++;
            }
        }
        if (num > 0 && num != nums) {
            String front = name.substring(0, name.indexOf("."));
            if (isNumeric(front)) {
                front = front.substring(0, front.length() - 1);
            }
            String after = name.substring(name.lastIndexOf(".") + 1);
            name = front + num + "." + after;
            return findRename(name, nameList, num);
        } else {
            return name;
        }

    }
```java

```java
 public static boolean isNumeric(String str) {
        boolean flag = false;
        for (int i = 0; i < str.length(); i++) {
            flag = Character.isDigit(str.charAt(i));
        }
        return flag;
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值