我试图在 Java 中将文件从一个目录移动到另一个目录,但我收到以下错误消息“该进程无法访问该文件,因为它正被另一个进程使用。”
如何在 Java 中找出哪个进程正在使用该文件?
我在Win 7上。
如果命令行方法是可行的,并且您在类似 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 中打开?.