package aa;
import java.util.ArrayList;
import java.util.Collection;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOCase;
public class FilenameUtilstest {
public static void main(String[] args) {
// TODO Auto-generated method stub
String basePath = "D:\\aa\\bb\\cc\";
String fileName = "file.txt";
String fullFileName = basePath+fileName;
System.out.println("1、顯示linux路徑:"+FilenameUtils.normalizeNoEndSeparator(fullFileName));
System.out.println("2、合并目錄和檔案名為檔案全路徑:"+FilenameUtils.concat(basePath, fileName));
System.out.println("3、檔案路徑去除目錄和字尾後的檔案名:"+FilenameUtils.getBaseName(fullFileName));
System.out.println("4、擷取檔案的字尾:"+FilenameUtils.getExtension(fullFileName));
System.out.println("5、擷取檔案的目錄:"+FilenameUtils.getFullPath(fullFileName));
System.out.println("6、擷取檔案的目錄不包含結束符:"+FilenameUtils.getFullPathNoEndSeparator(fullFileName));
System.out.println("7、擷取檔案名稱,包含後最:"+FilenameUtils.getName(fullFileName));
System.out.println("8、去除字首的路徑:"+FilenameUtils.getPath(fullFileName));
System.out.println("9、去除字首并結尾去除分隔符:"+FilenameUtils.getPathNoEndSeparator(fullFileName));
System.out.println("10、擷取字首:"+FilenameUtils.getPrefix(fullFileName));
System.out.println("11、擷取字首長度:"+FilenameUtils.getPrefixLength(fullFileName));
System.out.println("12、擷取最後一個.的位置:"+FilenameUtils.indexOfExtension(fullFileName));
System.out.println("13、擷取最後一個/的位置:"+FilenameUtils.indexOfLastSeparator(fullFileName));
System.out.println("14、擷取目前系統格式化路徑:"+FilenameUtils.normalize(fullFileName));
System.out.println("15、擷取linux系統格式化路徑:"+FilenameUtils.normalize(fullFileName));
System.out.println("16、擷取目前系統無結尾分隔符的路徑:"+FilenameUtils.normalizeNoEndSeparator(basePath));
System.out.println("17、擷取linux系統無結尾分隔符的路徑:"+FilenameUtils.normalizeNoEndSeparator(basePath));
System.out.println("18、移除檔案的擴充名:"+FilenameUtils.removeExtension(fullFileName));
System.out.println("19、轉換分隔符為目前系統分隔符:"+FilenameUtils.separatorsToSystem(fullFileName));
System.out.println("20、轉換分隔符為linux系統分隔符:"+FilenameUtils.separatorsToUnix(fullFileName));
System.out.println("20、轉換分隔符為linux系統分隔符:"+FilenameUtils.separatorsToUnix(fullFileName));
System.out.println("21、轉換分隔符為windows系統分隔符:"+FilenameUtils.separatorsToWindows(fullFileName));
//System.out.println("22、判斷目錄下是否包含指定檔案或目錄:"+FilenameUtils.directoryContains(basePath, fullFileName));
String linuxFileName = FilenameUtils.normalize(fullFileName);
System.out.println("23、判斷檔案路徑是否相同,非格式化:"+FilenameUtils.equals(fullFileName, linuxFileName));
System.out.println("24、判斷檔案路徑是否相同,格式化并大小寫不敏感:"+FilenameUtils.equals(fullFileName, FilenameUtils.normalize(fullFileName),true,IOCase.INSENSITIVE));
System.out.println("25、判斷檔案路徑是否相同,格式化并大小寫敏感:"+FilenameUtils.equalsNormalized(fullFileName, linuxFileName));
System.out.println("26、判斷檔案路徑是否相同,不格式化,大小寫敏感根據系統規則:windows:敏感;linux:不敏感:"+FilenameUtils.equalsOnSystem(fullFileName, linuxFileName));
Collection extensions = new ArrayList(); extensions.add("txt"); extensions.add("java"); System.out.println("27、判斷檔案擴充名是否包含在指定集合中:"+FilenameUtils.isExtension(fullFileName, extensions));
System.out.println("28、判斷檔案擴充名是否等于指定擴充名:"+FilenameUtils.isExtension(fullFileName, "txt"));
System.out.println("29、判斷檔案擴充名是否包含在指定字元串數組中:"+FilenameUtils.isExtension(fullFileName, new String[]{"txt","java"}));
System.out.println("30、判斷檔案擴充名是否和指定規則比對,大小寫敏感:"+FilenameUtils.wildcardMatch(fileName, "*.???"));
System.out.println("31、判斷檔案擴充名是否和指定規則比對,大小寫不敏感:"+FilenameUtils.wildcardMatch(fileName, "*.???",IOCase.INSENSITIVE));
System.out.println("32、判斷檔案擴充名是否和指定規則比對,根據系統判斷敏感型:windows:不敏感;linux:敏感:"+FilenameUtils.wildcardMatchOnSystem(fileName, "*.???"));
}
}