@Override public boolean equals(Object o) { if (o instanceof FileComparator) { FileComparator c = (FileComparator) o; return descends() == c.descends() && ignoresCase() == c.ignoresCase(); } else { return false; } }
public int compare(Object o1, Object o2) { String s1 = getComparable(o1); String s2 = getComparable(o2); if (m_ignoreCase) { return m_multiplier * s1.compareToIgnoreCase(s2); } else { return m_multiplier * s1.compareTo(s2); } }
/** * Command-line entry point for simple testing of this class. Given a * directory, get all files and dirs (recursively) in no particular order. * Print all filenames (using spaces to denote directory names) in unsorted, * default sorted, and FileComparator sorted order. */ public static void main(String[] args) { List<File> list = new ArrayList<File>(); getFilesAndDirs(new File(args[0]), list); File[] files = new File[list.size()]; for (int i = 0; i < files.length; i++) { files[i] = (File) list.get(i); } print("Before sorting", files); Arrays.sort(files); print("Default File sorting", files); Arrays.sort(files, new FileComparator()); print("Sorted with FileComparator", files); Arrays.sort(files, new FileComparator(true)); print("Sorted with FileComparator in reverse", files); }
private static void getFilesAndDirs(File dir, List<File> list) { File[] files = dir.listFiles(); for (File element : files) { list.add(element); if (element.isDirectory()) { getFilesAndDirs(element, list); } } }
/** * Command-line entry point for simple testing of this class. Given a * directory, get all files and dirs (recursively) in no particular order. * Print all filenames (using spaces to denote directory names) in unsorted, * default sorted, and FileComparator sorted order. */ public static void main(String[] args) { List<File> list = new ArrayList<File>(); getFilesAndDirs(new File(args[0]), list); File[] files = new File[list.size()]; for (int i = 0; i < files.length; i++) { files[i] = (File) list.get(i); } print("Before sorting", files); Arrays.sort(files); print("Default File sorting", files); Arrays.sort(files, new FileComparator()); print("Sorted with FileComparator", files); Arrays.sort(files, new FileComparator(true)); print("Sorted with FileComparator in reverse", files); }
private static void getFilesAndDirs(File dir, List<File> list) { File[] files = dir.listFiles(); for (File element : files) { list.add(element); if (element.isDirectory()) { getFilesAndDirs(element, list); } } }
@Override public boolean equals(Object o) { if (o instanceof FileComparator) { FileComparator c = (FileComparator) o; return descends() == c.descends() && ignoresCase() == c.ignoresCase(); } else { return false; } }
public int compare(Object o1, Object o2) { String s1 = getComparable(o1); String s2 = getComparable(o2); if (m_ignoreCase) { return m_multiplier * s1.compareToIgnoreCase(s2); } else { return m_multiplier * s1.compareTo(s2); } }
private static void print(String kind, File[] f) { System.out.println(kind); for (File element : f) { System.out.println(getComparable(element)); } System.out.println(); }
private static void print(String kind, File[] f) { System.out.println(kind); for (File element : f) { System.out.println(getComparable(element)); } System.out.println(); }