import org.apache.commons.io.FilenameUtils;  

 

测试数据

String fileDirectory = "/D:/aa/bb/cc";   
String fileName ="file.txt";  
String fileFullName = fileDirectory +"/"+ fileName;  
String linuxFileName = FilenameUtils.normalize(fileFullName);  

 

  • 显示linux路径
FilenameUtils.normalizeNoEndSeparator(fileFullName);  \D:\aa\bb\cc\file.txt  

 

  • 合并目录和文件名为文件全路径
FilenameUtils.concat(fileDirectory, fileName);  \D:\aa\bb\cc\file.txt  

 

  • 文件路径去除目录和后缀后的文件名
FilenameUtils.getBaseName(fileFullName);  //file  

 

  • 获取文件的后缀
FilenameUtils.getExtension(fileFullName);  //txt 

 

  • 获取文件的完整目录
FilenameUtils.getFullPath(fileFullName);  /D:/aa/bb/cc/  

 

  • 获取文件的目录不包含结束符
FilenameUtils.getFullPathNoEndSeparator(fileFullName);  /D:/aa/bb/cc  

 

  • 获取文件名称,包含后缀
FilenameUtils.getName(fileFullName);  //file.txt  

 

  • 去除前缀的路径
FilenameUtils.getPath(fileFullName);  D:/aa/bb/cc/ 

 

  • 去除前缀并结尾去除分隔符
FilenameUtils.getPathNoEndSeparator(fileFullName);  D:/aa/bb/cc  

 

  • 获取最后一个.的位置
FilenameUtils.indexOfExtension(fileFullName); //17  

 

  • 获取最后一个/的位置
FilenameUtils.indexOfLastSeparator(fileFullName);  //12

 

  • 移除文件的扩展名
FilenameUtils.removeExtension(fileFullName);   /D:/aa/bb/cc/file  

 

  • 转换分隔符为当前系统分隔符
FilenameUtils.separatorsToSystem(fileFullName); 

 

  • 转换分隔符为linux系统分隔符
FilenameUtils.separatorsToUnix(fileFullName);   \D:\aa\bb\cc  

 

  • 转换分隔符为windows系统分隔符
FilenameUtils.separatorsToWindows(fileFullName);   /D:/aa/bb/cc/file  

 

  • 判断目录下是否包含指定文件或目录
FilenameUtils.directoryContains(fileDirectory, fileName);  //false  

 

  • 判断文件路径是否相同
FilenameUtils.equals(fileFullName, linuxFileName);

 

  • 判断文件路径是否相同,格式化并大小写不敏感
FilenameUtils.equals(fileFullName, FilenameUtils.normalize(fileFullName),true,IOCase.INSENSITIVE));  

 

  • 判断文件路径是否相同,格式化并大小写敏感
FilenameUtils.equalsNormalized(fileFullName, linuxFileName);  

 

  • 判断文件路径是否相同,不格式化,大小写敏感根据系统规则:windows:敏感;linux:不敏感
FilenameUtils.equalsOnSystem(fileFullName, linuxFileName);

 

  • 判断文件扩展名是否包含在指定集合中
FilenameUtils.isExtension(fileFullName, list); 

 

  • 判断文件扩展名是否等于指定扩展名
FilenameUtils.isExtension(fileFullName, "txt");  

 

  • 判断文件扩展名是否包含在指定字符串数组中
FilenameUtils.isExtension(fileFullName, new String[]{"txt","java"});  

 

  • 判断文件扩展名是否和指定规则匹配,大小写敏感
FilenameUtils.wildcardMatch(fileName, "*.???");   

 

  • 判断文件扩展名是否和指定规则匹配,大小写不敏感
FilenameUtils.wildcardMatch(fileName, "*.???",IOCase.INSENSITIVE);  

 

  • 判断文件扩展名是否和指定规则匹配,根据系统判断敏感型:windows:不敏感;linux:敏感
FilenameUtils.wildcardMatchOnSystem(fileName, "*.???");

 

posted on 2019-11-22 11:10  FuYingju  阅读(432)  评论(0编辑  收藏  举报