import
java.io.File;
import
java.util.Date;
import
org.apache.commons.io.FileUtils;
import
org.apache.commons.io.IOCase;
import
org.apache.commons.io.comparator.LastModifiedFileComparator;
import
org.apache.commons.io.comparator.NameFileComparator;
import
org.apache.commons.io.comparator.SizeFileComparator;
public
final
class
ComparatorExample {
private
static
final
String PARENT_DIR =
"C:UsersLilykosworkspaceApacheCommonsExampleExampleFolder"
;
private
static
final
String FILE_1 =
"C:UsersLilykosworkspaceApacheCommonsExampleExampleFolderexample"
;
private
static
final
String FILE_2 =
"C:UsersLilykosworkspaceApacheCommonsExampleExampleFolderexampleTxt.txt"
;
public
static
void
runExample() {
System.out.println(
"Comparator example..."
);
File parentDir = FileUtils.getFile(PARENT_DIR);
NameFileComparator comparator =
new
NameFileComparator(IOCase.SENSITIVE);
File[] sortedFiles = comparator.sort(parentDir.listFiles());
System.out.println(
"Sorted by name files in parent directory: "
);
for
(File file: sortedFiles) {
System.out.println(
"t"
+ file.getAbsolutePath());
}
SizeFileComparator sizeComparator =
new
SizeFileComparator(
true
);
File[] sizeFiles = sizeComparator.sort(parentDir.listFiles());
System.out.println(
"Sorted by size files in parent directory: "
);
for
(File file: sizeFiles) {
System.out.println(
"t"
+ file.getName() +
" with size (kb): "
+ file.length());
}
LastModifiedFileComparator lastModified =
new
LastModifiedFileComparator();
File[] lastModifiedFiles = lastModified.sort(parentDir.listFiles());
System.out.println(
"Sorted by last modified files in parent directory: "
);
for
(File file: lastModifiedFiles) {
Date modified =
new
Date(file.lastModified());
System.out.println(
"t"
+ file.getName() +
" last modified on: "
+ modified);
}
System.out.println(
"File "
+ file1.getName() +
" was modified last because..."
);
else
System.out.println(
"File "
+ file2.getName() +
"was modified last because..."
);
System.out.println(
"t"
+ file1.getName() +
" last modified on: "
+
new
Date(file1.lastModified()));
System.out.println(
"t"
+ file2.getName() +
" last modified on: "
+
new
Date(file2.lastModified()));
}
}