天天看點

FilenameUtils工具類

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, "*.???"));

 }

}