问题:如何创建一个唯一的文件名,创建一个唯一的String字符串
为什么要创建唯一呢?再很多情况下,比如文件上传,文件名要不一致,否则就覆盖掉了

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

方式一:时间戳

推荐指数:★
原因:时间戳在高并发情况下有可能会出现相同
解决方案:再拼随机数,注意拼接的时候别让俩个做加法运算 时间戳变量+””+随机数变量
image.png
随机数:
image.png

方式二:微秒数

推荐指数:★★
原因:它比时间戳还要细,控制的力度更强
也可以加随机数或者自己拼接自己的规则
image.png

方式三:UUID

推荐指数:★★★
原因:他是java.util包下的一个可以产生不同的字符变量的一个类,它的功能很强大
image.png
image.png
(第二步: 生成唯一文件名那里,第一行是生成文件名的后缀, 第二行是,文件名+后缀) 最后赋值给fileName

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

推荐指数:★★★★★
原因:在日常中上面三种都足以满足自己的小Demo,小项目使用,但是在成熟大项目中,或许有些不够看,所以,我讲第四种
思路:文件名不是一个字符串嘛,做拼接的三面三种方式任意一种的时候,可以自己加入自己的规则,比如上传者的id,比如你从那块上传的解释,甚至加入8位甚至更多的随机数等
就是自定义规则,让概率变得更小!!!