2

我试图在 Java 中将文件从一个目录移动到另一个目录,但我收到以下错误消息“该进程无法访问该文件,因为它正被另一个进程使用。”

如何在 Java 中找出哪个进程正在使用该文件?

我在Win 7上。

4

1 回答 1

1

如果命令行方法是可行的,并且您在类似 Linux 的系统上,那么lsof就是您的朋友。大约有 10 个 gazillion 标志lsof,但根据您的需要,它应该很简单:

lsof myfile

您应该得到类似于以下内容的输出:

COMMAND    PID    USER  FD   TYPE DEVICE  SIZE    NODE NAME
someprog   4660 foobar mem    REG  253,0 58400 4522314 myfile

编辑

你说你正在使用Windows。我不熟悉 Windows 命令行工具。但是,这里有一个问题可能会有所帮助:如何确定特定文件是否在 Windows 中打开?.

于 2013-03-19T21:23:17.013 回答