프로그래밍/Android

파일 변경 이벤트

chance 2014. 4. 1. 11:08


파일 옵저버 : android.os.FileObserver

생성자

FileObserver(String path)

FileObserver(String path, int mask)



이벤트

ACCESS : 파일에서 데이터를 읽었음

ALL_EVENT

ATTRIB : 속성변경됨(퍼미션,소유자,타임스탬프)

CLOSE_NOWRITE : 읽기전용으로 열고 닫았음

CLOSE_WIRET : 쓰기모드로 열고 닫았음.

CREATE : 모니터링 디렉토리에 무언가(파일,디렉토리) 생성됨.

DELETE : 모니터링하던 디렉토리에서 파일이 삭제됨.

DELETE_SELF : 모니터링 대상이 삭제됨. 모니터링 중단됨.

MODIFY : 변경됨

MOVED_FROM : 모니터링 디렉토리에서 다른곳으로 이동됨

MOVED_TO : 모니터링 디렉토리내로 이동됨.

MOVE_SELF : 모니터링 중인 항목이 이동됨. 모니터링은 유지

OPEN : 항목이 오픈됨.




예)

FileObserver observer = new FileObserver( path ) {

public void onEvent( int event, String path ) {

}

};


startWatching();

stopWatching();


onEvent가 abstract이므로 상속받아 구현해 주어야 함.



파일 수정일자 변경 : File::setLastModified

String dateString = "2000/01/01";

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");

Date date = dateFormat.parse( dateString );

File file = new File( filePath );

file.setLastModified( date.getTime() );