파일의 날짜 및 시간 속성은 nio 패키지의 Files 객체의 setAttribute 메소드를 사용하여 설정할 수 있습니다.
java.nio.file.Files.setAttribute(file.toPath(), "creationTime", time);
이 예제는 File 객체를 사용하여 파일을로드합니다. 패턴 String로 정의 된 일자 패턴을 가지는 SimpleDateFormat를 사용해, 일자와 시각을 포맷합니다. 그런 다음 밀리 초 값을 사용하여 날짜가 FileTime으로 변환됩니다. FileTime 날짜는 파일의 경로를 사용하여 특성으로 설정됩니다. 마지막 수정 시간, 마지막 액세스 시간 및 생성 시간은 파일의 속성 이름을 사용하여 설정됩니다.
import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.attribute.FileTime; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class FileUpdateDate { public static void main(String[] argv) { File file = new File("V:/tmp/test.txt"); try { String pattern = "yyyy-MM-dd HH:mm:ss"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern); Date timeToSet = simpleDateFormat.parse( "2015-12-01 10:00:00" ); FileTime time = FileTime.fromMillis( timeToSet.getTime() ); Files.setAttribute(file.toPath(), "lastModifiedTime", time); Files.setAttribute(file.toPath(), "lastAccessTime", time); Files.setAttribute(file.toPath(), "creationTime", time); } catch (IOException e) { e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); } } }
FileTime 객체는 Date 객체의 밀리 초를 사용하여 만들어집니다. 1970 년 1 월 1 일부터 GMT까지의 신기원으로부터의 밀리 세컨드 수. 이 클래스의 인스턴스는 변경 불가능하거나 스레드로부터 안전합니다. 일단 생성되었거나 다른 스레드가 수정할 수 없습니다. differente 값을 설정하려면 새 객체를 인스턴스화해야합니다.