0,0 → 1,31 |
package ak.photoalbum.util; |
|
import java.util.Comparator; |
import java.io.File; |
|
public class FileNameComparator |
implements Comparator |
{ |
private boolean dirFirst; |
|
public FileNameComparator(boolean dirFirst) |
{ |
this.dirFirst = dirFirst; |
} |
|
public int compare(Object o1, Object o2) |
throws ClassCastException |
{ |
return compare((File)o1, (File)o2); |
} |
|
public int compare(File f1, File f2) |
{ |
boolean d1 = f1.isDirectory(); |
boolean d2 = f2.isDirectory(); |
|
if(d1 && !d2) return (dirFirst ? -1 : 1); |
else if(!d1 && d2) return (dirFirst ? 1 : -1); |
else return f1.getName().compareToIgnoreCase(f2.getName()); |
} |
} |