2012-08-29 2 views
2

유닉스 박스의 한 위치에있는 여러 파일을 추적하고 아무도 오랫동안 사용하지 않는다면 파일을 삭제하고 싶습니다. 참조 계산을 검색하려고하지만 Google에 많은 도움을 얻지 못했습니다. 자바 7에서 마지막으로 액세스 한 시간을 줄 수있는 FileTime을 보았습니다.하지만 자바 6을 사용하여 위의 작업을해야합니다. 누군가가 참조 카운팅에 대한 좋은 아이디어 나 참조를 가지고 있다면 어떻게 사용할 수 있습니까? 큰.자바 1.6에서 파일 추적하기

답변

0

좋아요, 마지막 액세스 시간을 원합니다.

일부 추가 정보는 Get the Last Access Time for a File을 읽을 수 있습니다.

가능성이있는 경우 http://jdevel.wordpress.com/2011/04/08/file-last-access-time-in-java-on-linux/을 시도해 볼 수는 있지만, 유닉스가 아닌 Linux입니다.

마지막으로, 당신은 같은 생각을 빌려 당신은 apache common IO을 사용할 수 있습니다 JNA 또는 JNI

+0

파일을 수정하지 않고 만든 후에 만 ​​읽을 수 있습니다. – randeepsp

+0

죄송합니다. 조금 더 자세히 쉘을 파십시오. – MadProgrammer

1

사용할 수 있습니다. dir을 확인하고 청취자에게 eventslisten을 작성, 변경 또는 삭제할 것을 알리는 관찰자를 설정하십시오. 이것에 의해 어떤 dir이 사용자에 의해 작동하고 다른 것들은 그렇지 않은지를 추적하는 것이 가능합니다.

+0

파일 단위로 삭제하고 싶습니다. 디렉토리는 많은 파일을 가지며 사용되지 않는 파일을 삭제하려고합니다. – randeepsp

+0

일부 특정 파일 또는 모든 파일에서도 작업을 수행 할 수 있습니다. [체크 api] (http://commons.apache.org/io/api-release/org/apache/commons/io/monitor/FileAlterationObserver.html) –

0

JDK 1.6까지 파일을 보는 모듈이 없습니다. 당신이 할 수있는 일은, 당신은

lastModified() 메소드 java.io.File 클래스를보고 자신의 파일 감시자를 작성할 수 있다는 것입니다.

마지막 수정 시간을 긴 값으로 반환하며, 일정 기간 동안이 파일을 감시합니다. 총 시간 차이

(presentTime - lastModifiedTime) 경우

는 시간 기준을 초과, 당신은 파일을 삭제할 수 있습니다.

+0

파일을 수정하지 않을 것이다, 그것은 한 번만 읽습니다. – randeepsp

+0

여기에 생성 시간이 마지막으로 수정 된 시간입니다. 그래서 당신은 currenttime-creationtime을 실행해야하고 시간 제한을 초과하는 경우 파일을 삭제하십시오. – sakthisundar