【发布时间】:2013-03-19 07:24:14
【问题描述】:
我有一个多线程 Java 程序,可以在几秒钟内创建数百个临时文件。这些文件放在/tmp 中,并使用System.nanoTime() 命名。
文件名是否保证唯一?
【问题讨论】:
-
不总是,但很有可能。
-
@Andreas_D - 或者换句话说,两个生成的文件名相同的概率足够小,以至于不会在测试中被选中。索德定律说,问题会在生产中再次出现并困扰您。
-
斯蒂芬,这就是我发表评论的意图。没有保证。对于唯一名称:使用序列。或者将随机数连接到 nano 值以进一步降低名称冲突的可能性。或者:只需检查文件是否存在并生成一个新名称,如果是这样的话。
标签: java file time temporary-files