zoukankan      html  css  js  c++  java
  • Java中如何创建一个确保唯一的名字,文件名

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------

    本篇博客要讲的有,如何创建一个唯一的文件名,创建一个唯一的String字符串

    为什么要创建唯一呢?再很多情况下,比如文件上传文件名要不一致否则就覆盖掉了,如何不一致,这就是本篇博客要讲的内容

    注:直接采用随机数是愚蠢的做法,它在很大概率上会有相同的数字出现

    方式一:时间戳

      推荐指数:

      原因:时间戳在高并发情况下有可能会出现相同

      解决方案:再拼随机数,注意拼接的时候别让俩个做加法运算      时间戳变量+""+随机数变量

            //时间戳第一种
            System.out.println(new Date().getTime());
            //时间戳第二种
            System.out.println(System.currentTimeMillis());

      随机数

            //生成六位随机数
            System.out.println((int)((Math.random()*9+1)*100000));

    方式二:微秒数

      推荐指数:

      原因:它比时间戳还要细,控制的力度更强

      也可以加随机数或者自己拼接自己的规则

            //微秒数
            System.out.println(System.nanoTime());

    方式三:UUID

      推荐指数:

      原因:他是java.util包下的一个可以产生不同的字符变量的一个类,它的功能很强大

            //采用UUID的方式                    import java.util.UUID;
            UUID randomUUID = UUID.randomUUID();
            System.out.println(randomUUID);

    方式四:在前三种基础上自定义规则

      推荐指数:

      原因:在日常中上面三种都足以满足自己的小Demo,小项目使用,但是在成熟大项目中,或许有些不够看,所以,我讲第四种

      思路:文件名不是一个字符串嘛,做拼接的三面三种方式任意一种的时候可以自己加入自己的规则,比如上传者的id,比如你从那块上传的解释,甚至加入8位甚至更多的随机数等

      就是自定义规则,让概率变得更小!!!!!!!!!

  • 相关阅读:
    函数之装饰器
    前端笔记之css
    前端笔记之html
    python之函数
    python之文件操作
    python基础知识
    ovirt一种基于kvm的开源虚拟化软件
    python2与3的区别
    TP框架设置验证码
    js原生子级元素阻止父级元素冒泡事件
  • 原文地址:https://www.cnblogs.com/DawnCHENXI/p/9308941.html
Copyright © 2011-2022 走看看