检测锁定的文件
答
,我认为这是唯一可能在本机的方式。您需要访问FileHandle信息。写一个DLL并通过JNI将它连接到你的Java应用程序。使用SystemHandleInformation(16)调用NtQuerySystemInformation。您可以获得所有打开的句柄的列表,搜索FileHandles,将FileHandles与您自己的文件进行比较。
+0
非常好。我认为这应该被接受的答案。 – 2010-08-24 05:59:54
退房http://stackoverflow.com/questions/1500174/checking-if-a-file-locked-in-java – svrist 2010-08-23 08:27:05
此线程有帮助吗? http://stackoverflow.com/questions/1390592/java-check-if-file-is-already-open – bdhar 2010-08-23 08:28:09
我使用Sysinternal的Procexp应用程序进行这种检测,因使用低级别和未公开的Windows API而闻名,所以我永远不会期望它在Java中是可能的。但是,如果有办法,那会很好。 – 2010-08-23 08:36:11