我想使用java删除windows操作系统上的文件,无论何时文件可能被外部进程使用,我如何通过知道哪个进程使用它并杀死该进程或任何方式,任何代码或方式来强制删除?
Java没有任何内置工具来查找哪个进程打开了特定的文件。这是操作系统特有的。你必须运行一些外部工具,但我不知道有什么Windows命令行工具允许你这样做。
可以通过JNI (http://www.atwistedweb.com/java/jni.html)或JNA (http://jna.java.net/)调用底层Windows例程
但是有一个更简单的解决方案:下载Unlocker并与ProcessBuilder
一起运行。