Windows 또는 Linux에서 실행되는 Java의 변경 사항을 파일에서 모니터링하려고합니다.File.lastModified 값이 항상 증가합니까?
현재 API 차이점을 부드럽게 처리하고 비동기 이벤트를 처리하지 않으려 고 OS 파일 이벤트에 연결하는 대신 파일의 마지막으로 수정 된 속성을 폴링합니다.
파일을 처리하고 lastModified
개 결과를 각각 x
초로 비교하면 결과는 new File("path").lastModified()
입니다.
파울 플레이가 없으며 수동으로 타임 스탬프를 수정하는 사람이 있다고 가정해도 lastModified는 항상 증가 할 것입니까? 자바 문서는 그리니치 표준시 (GMT)에서 상쇄되었으므로 시간대 조정을하더라도 뒤로 이동하지 않을 것이라고 예상 할 수 있습니까?
일반적으로 시간 이동 영역에서도 좋습니다. –
'파울이 없다'거나 '타임 스탬프를 수동으로 수정하는'사람이 없다고 생각합니다. 또한 CPU 클럭이 뒤로 설정되지 않는다고 가정 할 수 없습니다. DST가 끝나면 적어도 일 년에 한 번 발생합니다. 파일이 한 시간 내에 두 번 수정되는 경우에도 이전보다 59 분 59 초 더 오래 나타날 수 있습니다. – EJP
@EJP : 일광 절약 시간제는 단지 시간대 문제 일 뿐이므로 OP만으로도 Date의 실제 값 (이 경우 타임 스탬프)이 뒤로 이동하지 않게됩니다 (다르게 형식이 지정됨). –