1 22 23 package org.meshcms.util; 24 25 import java.io.*; 26 import java.util.*; 27 28 33 public final class FileNameComparator implements Comparator, Serializable { 34 private boolean caseSensitive = true; 35 36 public int compare(Object o1, Object o2) { 37 try { 38 File f1 = (File) o1; 39 File f2 = (File) o2; 40 41 if (f1.isDirectory() && !f2.isDirectory()) { 42 return -1; 43 } else if (!f1.isDirectory() && f2.isDirectory()) { 44 return 1; 45 } else if (caseSensitive) { 46 return f1.getName().compareTo(f2.getName()); 47 } else { 48 return f1.getName().toLowerCase().compareTo(f2.getName().toLowerCase()); 49 } 50 } catch (ClassCastException ex) {} 51 52 return 0; 53 } 54 55 public boolean isCaseSensitive() { 56 return caseSensitive; 57 } 58 59 public void setCaseSensitive(boolean caseSensitive) { 60 this.caseSensitive = caseSensitive; 61 } 62 } 63 | Popular Tags |