문제

디렉토리에 특정 수의 파일이 없는 한 비활성화하고 싶은 버튼이 있습니다.디렉토리에 파일이 생성되거나 삭제되는 순간을 알려주는 일종의 리스너가 있습니까?

도움이 되었습니까?

해결책

파일 시스템 이벤트 및 모니터링에 대한 Java에는 현재 기본 지원이 없습니다. Jnotify 이 작업을 수행하는 데 유용한 라이브러리입니다. 수정을 위해 디렉토리를 모니터링하기 위해 설정 한 다음 추가/제거 된 내용을 결정해야합니다.

Java 7에는 파일 시스템 이벤트 지원이 있습니다 내장.

다른 팁

고려해야 할 한 가지 - 생성 이벤트를 수신하는 경우 파일을 읽기 시작하기 전에 파일이 완전히 작성되었는지 확인하는 것이 좋습니다.이 문제에 대해 Java 7이 어떤 유형의 지원을 제공할지 잘 모르겠습니다.

나는 과거에 이와 같은 메커니즘을 구현했으며 이 특정 문제에는 특별한 처리가 필요했습니다.파일 판독기와 기록기를 모두 제어하는 ​​경우 명명 규칙 등을 사용하여 이 문제를 해결할 수 있습니다.(작성자는 파일 이름을 xxx.prt로 지정하고 쓰기가 완료되면 파일 이름을 바꿉니다.)작성자를 제어할 수 없었기 때문에 각각의 새 파일을 실제로 읽을 준비가 되었는지 확인하기 위해 일정 간격으로 파일 크기를 확인하는 또 다른 폴링 메커니즘을 추가해야 했습니다.완벽한 해결책은 아니지만 제 경우에는 충분했습니다.

내 2센트...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top