jnotify를 사용하여 특정 디렉토리에서 새 파일을 만들거나 복사 할 때 이벤트를 가져옵니다. 파일을 디렉터리로 복사 할 때이 파일을 매개 변수로 사용하여 도구를 실행하려고합니다. 문제 : 파일 크기가 크고 디렉토리에 즉시 복사되지 않을 때이 파일을 계속 복사하기 때문에이 파일로 도구를 시작할 수 없습니다.파일이 완전히 생성/복사되기 전에 jnotify 이벤트가 발생합니다.
이 문제를 해결할 수있는 방법이 있습니까? 파일이 "준비"되어 있는지 확인하는 방법이 있습니까?
그렇게 볼 수있는 방법이 없습니다, (리눅스/유닉스) lsof 명령을 사용하여 사용 열려 있는지 확인합니다 또한 준비된 파일에 대한 알림? 나는 폴링을 피하려고 노력하고 있지만 불가능하다면 폴링 할 것입니다 ... – Fulley
아니요, OS 레벨 (이는 JNotify가 사용하는 것입니다)에서 준비된 파일과 같은 개념은 없습니다. 내가 풀링을 제안하지 않고 오히려 JNotify에서 마지막 쓰기 이벤트를 기다리는 중입니다. 여기서 마지막 이벤트는 두 번째 (예를 들어) 파일의 추가 이벤트가없는 이벤트로 정의됩니다. –