删除java中的文件
我想使用java删除Windows操作系统上的文件,但有时文件可能被外部进程使用,我如何强制删除或通过知道哪个进程使用该文件并杀死该进程或任何方式、任何代码或方式?
I want to delete file on windows OS using java, how ever some time file may be in use by external process, how can I delete forcefully or by knowing which process use that and kill that process or any how, any code or way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Java 没有任何内置工具来找出哪个进程打开了特定文件。这是特定于操作系统的。您必须为此运行一些外部工具,但我不知道有任何 Windows 命令行工具允许您执行此操作。
Java doesn't have any built-in tools to find out what process opened specific file. This is OS-specific. You must run some external tools for that, but I don't know any Windows command-line tool allowing you to do that.
您可以通过 JNI (http://www.atwistedweb.com/java/jni.html) 或 JNA (http://jna.java.net/) 调用低级 Windows 例程,
但是更简单的解决方案怎么样:下载 Unlocker并使用 ProcessBuilder 运行它。
You can call low level Windows routines via JNI (http://www.atwistedweb.com/java/jni.html) or JNA (http://jna.java.net/)
But how about a more simple solution: Download Unlocker and run it with
ProcessBuilder
.