caihp
V2EX  ›  Java

如何用 Java 实现类似 windows 里面新建文件夹重名了在后面加一的功能

  •  
  •   caihp · Jun 25, 2021 · 3183 views
    This topic created in 1960 days ago, the information mentioned may be changed or developed.
    如题,小弟最近在做一个网盘项目,在上传文件到网盘时想要实现类似 windows 里面那样,如果重名了就自动在文件名后面加个数字这样的功能,然后要做到重复上传的话后面的数字是递增的这样的效果,麻烦各位大佬给小弟帮帮忙
    15 replies  •  2021-06-28 10:39:52 +08:00
    yitingbai
    yitingbai
    Jun 25, 2021
    1
    最二的方案: 保存文件 > 文件已存在 > 文件名+1 再保存 > 文件已存在 > 文件名+1 再保存
    sprite82
    sprite82
    Jun 25, 2021 via Android
    2
    @yitingbai 这不是微信行为吗😂
    QingXuJiaZhi
    QingXuJiaZhi
    Jun 25, 2021
    3
    建议加时间,或加个随机数,比循环加一优雅一点。
    dallaslu
    dallaslu
    Jun 25, 2021
    4
    先拿到目录中所有文件名,然后……
    lybcyd
    lybcyd
    Jun 25, 2021 via Android
    5
    以前做过类似的加的是时间,实现比较简单
    herozzm
    herozzm
    Jun 25, 2021 via Android
    6
    递归就可以实现
    no1xsyzy
    no1xsyzy
    Jun 26, 2021
    7
    @sprite82 微信和资源管理器还是不一样的
    微信是 (1) (1)(1) (1)(1)(1) (1)(1)(1)(1),资源管理器是 (1) (2) (3) (4)
    sprite82
    sprite82
    Jun 26, 2021
    8
    重新看了下一楼的原话,发现自己看错了😅
    caihp
    caihp
    OP
    Jun 26, 2021
    9
    @yitingbai 这么简单粗暴吗···我想优雅一点点~
    caihp
    caihp
    OP
    Jun 26, 2021
    10
    @dallaslu 你倒是往下说呀~
    caihp
    caihp
    OP
    Jun 26, 2021
    11
    @lybcyd
    @herozzm
    我要实在搞不出来就这么搞···
    kisick
    kisick
    Jun 26, 2021
    12
    获得目录下面所有的文件名,搞一个 map,文件名作为 key,出现的次数为 value 。
    while filename in map :
    codehz
    codehz
    Jun 27, 2021
    13
    windows 的算法很简单粗暴的
    就是不断重试+1 创建,直到成功。。
    caihp
    caihp
    OP
    Jun 28, 2021
    14
    @codehz 我还以为会很高深···
    xmt328
    xmt328
    Jun 28, 2021
    15
    @codehz 我反而觉得这样比便利整个目录更快
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1912 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 64ms · UTC 07:57 · PVG 15:57 · LAX 23:57 · JFK 02:57
    ♥ Do have faith in what you're doing.