我对这个问题进行调查了一下,感觉真正的麻烦是Java的mkdirs没有解释为什么目录不能创建。通常克服mkdir竞争的方法是检查EEXIST错误,如果是这个错误,就继续而不报错,因为我们知道另一进程赢得了竞争。
如果java.nio.path.createDirectories在竞争中失败了,它将抛出FileAlreadyExistsException。
我看到该仓库中的其他代码已经使用了java.nio,所以我猜测从mkdirs转换为createDirectories是可能的。
希望这对您有所帮助!