gpt4 book ai didi

java - 锁定创建新文件夹

转载 作者:太空宇宙 更新时间:2023-11-04 13:15:12 26 4
gpt4 key购买 nike

我有以下情况:多个线程可能会尝试同时创建同一个文件夹,例如

Thread 1                                    Thread 2
1 new File("\newfolder\").mkdir() 1 new File("\newfolder\").mkdir()
2 2

...

我尝试多次测试这种情况(使用多个 theda 创建相同的文件夹),每次都成功,例如,我没有遇到任何问题。但是我担心这种方法 - 我是否应该同步此代码,例如我是否应该使用类似的东西

  try {
folderCreationLock.lock();
File directory = new File(directoryPath);
if (!directory.exists()) {
directory.mkdir();
}
} finally {
folderCreationLock.unlock();
}
}

或者我安全吗

   directory.mkdir();

谢谢,干杯!

最佳答案

正如 fge 已经提到的,使用 NIO 2 API。

Files.createDirectories(Paths.get("\\new\\folder"));

如果目录 \\new 不存在,这将创建目录 \\new\\folder
如果目录 \\new 已存在,则仅创建其子文件夹 \\folder
如果整个目录结构已存在,则不会创建任何内容,并且(也许最重要)不会引发异常。

关于java - 锁定创建新文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33607331/

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