Java中如何创建一个确保唯一的名字,文件名

简介:     ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------     本篇博客要讲的有,如何创建一个唯一的文件名,创建一个唯一的String字符串 为什么要创建唯一呢?再很多情况下,比如文件上传,文件名要不一致,否则就覆盖掉了,如何不一致,这就是...

 

 

 

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

 

 

本篇博客要讲的有,如何创建一个唯一的文件名,创建一个唯一的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位甚至更多的随机数等

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

 

目录
相关文章
|
4月前
|
设计模式 安全 Java
JAVA设计模式1:单例模式,确保每个类只能有一个实例
JAVA设计模式1:单例模式,确保每个类只能有一个实例
|
7月前
|
Java Maven
JAVA-IntelliJ IDEA 2022 如何创建一个Java项目或被Maven管理的Java项目
JAVA-IntelliJ IDEA 2022 如何创建一个Java项目或被Maven管理的Java项目
167 0
|
12月前
|
Java
Java查询指定文件目录下指定文件名的文件的方法
Java通过正则表达式Regex,和通配模式The globbing pattern查询指定文件目录下指定文件名的文件
163 0
|
SQL 数据可视化 Java
Java - Mac上创建数据库表如何创建到指定的数据库中,此处有坑,已填
Java - Mac上创建数据库表如何创建到指定的数据库中,此处有坑,已填
75 0
Java - Mac上创建数据库表如何创建到指定的数据库中,此处有坑,已填
|
Java 网络架构
【Java面试】确保线程顺序执行的实现方法
【Java面试】确保线程顺序执行的实现方法
115 0
java BigDecimal(String val)确保小数点后有效位数 ✨ 每日积累
java BigDecimal(String val)确保小数点后有效位数 ✨ 每日积累
|
Java Linux
java 发送邮件附件 文件名过长的坑
java 发送邮件附件 文件名过长的坑
331 0
java 发送邮件附件 文件名过长的坑
|
Java Android开发
Java工具IDEA创建模块(Module)、如何创建 Module:、如何删除模块
Java工具IDEA创建模块(Module)、如何创建 Module:、如何删除模块
Java工具IDEA创建模块(Module)、如何创建 Module:、如何删除模块
|
Java 数据库连接 mybatis
mybatis学习(6):IntelliJ IDEA 如何创建一个普通的 Java 项目,及创建 Java 文件并运行
mybatis学习(6):IntelliJ IDEA 如何创建一个普通的 Java 项目,及创建 Java 文件并运行
74 0
mybatis学习(6):IntelliJ IDEA 如何创建一个普通的 Java 项目,及创建 Java 文件并运行
IntelliJ IDEA 如何创建一个 Java 项目
IntelliJ IDEA 如何创建一个 Java 项目
1121 0
IntelliJ IDEA 如何创建一个 Java 项目

相关产品

  • 云迁移中心