FileSystem에서 File의 lastModifiedTime 에 관하여...

자바에서는 화일을 다룰 수 있는 File 라는 클래스를 제공한다. ( java.io.File )

이 클래스에서는 화일의 정보를 get 하거나 set 할 수 있도록 제공해 주는데.

그중에서 지금 확인해 볼 것은 lastModified Time 에 관한 내용이다.

 

 자바의 File 에서는 해당 화일의 마지막 변경 시간을 얻어 올 수도 있으며, 지정해 줄 수 있는 메소드를 제공해 준다.

 java.setlastmodified.gif

 

 그리고 위의 코드는 OS에 맞는 FileSystem의 setLastModified를 호출하게 되며, Windows에서는 일반적으로 Win32FileSystem.setLastModified를 호출하게 된다.

 Win32FileSystem.setlastmodi.gif

 

이 놈은  결국은 native 코드를 사용호출 하게 된다. 이에 대한 native 코드는 아래와 같이 이루어져 있다.

 native.setlastmodified.gif

 

그래서 결국은 windows api에서 제공하는 SetFileTime 이라는 함수를 호출하게 되어 있다.

이것에 대한 msdn 내용을 살펴 보면 아래와 같이 되어 있다.

 msdn.setFileTime.gif

 

파일 시스템 마다 다르게 동작할 수 있단다.

FAT 에서는 만든 시간은 10밀리초 까지 해상도를 제공하고,

수정한 시간은 2초의 해상도를 제공하고,

접근한 날자는 하루 단위로 제공한다고 한다.

 

아래는 FAT 에 관한 표 중 일부분이다.

 FAT32.gif

 

그렇기 때문에 해당 File 객체를 만들어서 setLastModified()를 수행 한다고 해서,

모든 시스템에서 정해진 시간으로 저장 되는것이 아닐 수도 있다.

 

이 글은 스프링노트에서 작성되었습니다.

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
  1. 박서은 2007.07.07 00:18 신고

    그랬군요. 그런거였군요.

    • Chan 2007.07.08 16:33 신고

      ㅎㅎ 네~ ㅎㅎ ;;;;; 그런거였답니다. ㅎㅎ

+ Recent posts