001package com.pingidentity.util; 002 003import java.io.File; 004import java.io.IOException; 005import java.nio.file.Files; 006import java.nio.file.attribute.FileTime; 007import java.util.Comparator; 008 009public class CreateComparator implements Comparator<File> { 010 int factor = 1; 011 public CreateComparator(boolean reversed) { 012 if (reversed) factor = -1; 013 } 014 015 @Override 016 public int compare(File f1, File f2) { 017 try { 018 FileTime f1Timestamp = (FileTime) Files.getAttribute(f1.toPath(),"creationTime"); 019 FileTime f2Timestamp = (FileTime) Files.getAttribute(f2.toPath(),"creationTime"); 020 if ( f1Timestamp != null && f2Timestamp != null ){ 021 return f1Timestamp.compareTo(f2Timestamp) * factor; 022 } else { 023 System.out.println("There was a problem comparing "+f1.getName()+ " and "+ f2.getName() + " timestamps."); 024 } 025 } catch (IOException e) { 026 e.printStackTrace(); 027 } 028 return 0; 029 } 030}