JSONbject
在目录中表现得很突出吗?它是否包含文件和/或目录句柄?是File.listFiles()
进入目录吗?
我的一个进程是在一个目录上调用Java cd
,另一个正在尝试删除同一目录(例如使用C#' s File.listFiles()
)。删除失败,"目录不为空" (这是一条Windows错误消息)。我怀疑是Directory.Delete(DIRECTORY, true);
在某种程度上阻碍了它,虽然它只是在进行读操作。
注意:Java进程以递归方式读取目录(如果它找到了子目录,它也会读取它们)。因此,
很可能 File.listFiles()
实际上与
发生冲突 Directory.Delete(DIRECTORY, true)
显然SUBDIRECTORY的Java阅读器在SUBDIRECTORY上持有一些类句柄。这会阻止删除父DIRECTORY吗?
答案 0 :(得分:0)
我现在已经确认File.list()
(但也可能File.listFiles()
) 确实会导致此问题。请参阅上面的评论,以及相应TeamCity bug report中的血腥细节。