gpt4 book ai didi

java - 控制在 Java 中创建的临时文件的名称

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:49:08 25 4
gpt4 key购买 nike

创建临时文件时,有什么方法可以控制附加到文件名的随机数字吗?例如。如果我编写 File.createTempFile("abc",".pdf"),它会创建一个名为 abc12323543121.pdf 的文件。除了这些数字,是否可以附加时间戳?我需要这个,因为对于我创建的每个文件,我需要将时间戳附加到文件,这使得文件名很长。所以,如果我可以只使用时间戳而不是随机生成的数字,那就太好了。

最佳答案

API好像没有直接提供这个。但是您可以查看File.createTempFile() 源代码,了解它是如何实现的,然后自己实现所需的方法。

基本上,createTempFile() 创建一个具有预期文件名的 File 对象,然后使用 FileSystem.createFileExclusively() 创建文件。如果文件已经存在,此方法返回 false,在这种情况下,文件名被修改(通过使用不同的随机数)并重试创建。

您可以采用相同的方法,但请注意 FileSystem 是一个包私有(private)类,因此您不能在自己的方法中使用它。使用 File.createNewFile()而是以原子方式创建文件。如果文件已经存在,此方法也会返回 false,因此您可以在类似的循环中使用它,例如 createTempFile() 使用 createFileExclusively() 方法。

关于java - 控制在 Java 中创建的临时文件的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16686320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com