2013-03-19 5 views
2

Java에서 한 dir에서 다른 dir로 파일을 이동하려고하는데 다음 오류 메시지가 나타납니다. "다른 프로세스에서이 프로세스를 사용하고 있기 때문에 프로세스가 파일에 액세스 할 수 없습니다."Java에서 파일을 사용하고있는 프로세스를 찾는 방법은 무엇입니까?

Java에서이 파일을 사용하는 프로세스를 어떻게 확인할 수 있습니까?

내가

+2

플랫폼 독립적이지 않은 자바 방식 (afaik). – Perception

+0

Java에서이 작업을 구체적으로 수행해야합니까, 아니면 명령 행 방식이 적합합니까? 그렇다면 어떤 플랫폼입니까? –

+0

참고 사항 : http://stackoverflow.com/questions/300559/move-copy-file-operations-in-java?rq=1 –

답변

1

명령 줄 접근이 가능한 경우 윈 7에있어, 당신은 리눅스와 같은 시스템에있어, 다음 lsof은 당신의 친구입니다. 이 약 10 gazillion 플래그 lsof위한 것입니다,하지만 당신의 요구에,처럼 간단해야한다 :

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

편집

:

lsof myfile 

은 다음과 유사한 출력을 얻을합니다

당신은 Windows를 사용하고 있다고 말합니다. Windows 명령 줄 도구에 익숙하지 않습니다. 그러나 도움이 될만한 질문은 다음과 같습니다. How can I determine whether a specific file is open in Windows?.