转载:FilenameUtils的工具类
生活随笔
收集整理的這篇文章主要介紹了
转载:FilenameUtils的工具类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、概述
這是一個Java操作文件的常用庫,是Apache對java的IO包的封裝,這里面有兩個非常核心的類FilenameUtils跟FileUtils,其中FilenameUtils是對文件名操作的封裝;FileUtils是文件封裝,開發中對文件的操作,幾乎都可以在這個框架里面找到。 非常的好用。
二、commons-io在maven中央倉庫的最新版本地址
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency>三、FilenameUtils API操作如下
1 package com.ickes.filename; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 import org.apache.commons.io.FilenameUtils; 6 import org.apache.commons.io.IOCase; 7 /** 8 * org.apache.commons.io.FilenameUtils工具類筆記 9 * @author Ickes 10 */ 11 public class FilenameUtilsTest { 12 public static void main(String[] args) throws Exception { 13 String fileDirectory = "/D:/aa/bb/cc"; 14 String fileName ="file.txt"; 15 String fileFullName = fileDirectory +"/"+ fileName; 16 System.out.println("(1)顯示linux路徑:"+FilenameUtils.normalizeNoEndSeparator(fileFullName)); 17 System.out.println("(2)合并目錄和文件名為文件全路徑:"+FilenameUtils.concat(fileDirectory, fileName)); 18 System.out.println("(3)文件路徑去除目錄和后綴后的文件名:"+FilenameUtils.getBaseName(fileFullName)); 19 System.out.println("(4)獲取文件的后綴:"+FilenameUtils.getExtension(fileFullName)); 20 System.out.println("(5)獲取文件的完整目錄:"+FilenameUtils.getFullPath(fileFullName)); 21 System.out.println("(6)獲取文件的目錄不包含結束符:"+FilenameUtils.getFullPathNoEndSeparator(fileFullName)); 22 System.out.println("(7)獲取文件名稱,包含后綴:"+FilenameUtils.getName(fileFullName)); 23 System.out.println("(8)去除前綴的路徑:"+FilenameUtils.getPath(fileFullName)); 24 System.out.println("(9)去除前綴并結尾去除分隔符:"+FilenameUtils.getPathNoEndSeparator(fileFullName)); 25 System.out.println("(10)獲取前綴:"+FilenameUtils.getPrefix(fileFullName)); 26 System.out.println("(11)獲取前綴長度:"+FilenameUtils.getPrefixLength(fileFullName)); 27 System.out.println("(12)獲取最后一個.的位置:"+FilenameUtils.indexOfExtension(fileFullName)); 28 System.out.println("(13)獲取最后一個/的位置:"+FilenameUtils.indexOfLastSeparator(fileFullName)); 29 System.out.println("(14)獲取當前系統格式化路徑:"+FilenameUtils.normalize(fileFullName)); 30 System.out.println("(16)獲取當前系統無結尾分隔符的路徑:"+FilenameUtils.normalizeNoEndSeparator(fileDirectory)); 31 System.out.println("(17)獲取linux系統無結尾分隔符的路徑:"+FilenameUtils.normalizeNoEndSeparator(fileDirectory)); 32 System.out.println("(18)移除文件的擴展名:"+FilenameUtils.removeExtension(fileFullName)); 33 System.out.println("(19)轉換分隔符為當前系統分隔符:"+FilenameUtils.separatorsToSystem(fileFullName)); 34 System.out.println("(20)轉換分隔符為linux系統分隔符:"+FilenameUtils.separatorsToUnix(fileFullName)); 35 System.out.println("(21)轉換分隔符為windows系統分隔符:"+FilenameUtils.separatorsToWindows(fileFullName)); 36 System.out.println("(22)判斷目錄下是否包含指定文件或目錄:"+FilenameUtils.directoryContains(fileDirectory, fileName)); 37 String linuxFileName = FilenameUtils.normalize(fileFullName); 38 System.out.println("(23)判斷文件路徑是否相同:"+FilenameUtils.equals(fileFullName, linuxFileName)); 39 System.out.println("(24)判斷文件路徑是否相同,格式化并大小寫不敏感:"+FilenameUtils.equals(fileFullName, 40 FilenameUtils.normalize(fileFullName),true,IOCase.INSENSITIVE)); 41 System.out.println("(25)判斷文件路徑是否相同,格式化并大小寫敏感:" 42 + FilenameUtils.equalsNormalized(fileFullName, linuxFileName)); 43 System.out.println("(26)判斷文件路徑是否相同,不格式化,大小寫敏感根據系統規則:windows:敏感;linux:不敏感:" 44 + FilenameUtils.equalsOnSystem(fileFullName, linuxFileName)); 45 List<String> extensions = new ArrayList<>(); 46 extensions.add("txt"); 47 extensions.add("java"); 48 System.out.println("(27)判斷文件擴展名是否包含在指定集合中:" 49 + FilenameUtils.isExtension(fileFullName, extensions)); 50 System.out.println("(28)判斷文件擴展名是否等于指定擴展名:" 51 + FilenameUtils.isExtension(fileFullName, "txt")); 52 System.out.println("(29)判斷文件擴展名是否包含在指定字符串數組中:" 53 + FilenameUtils.isExtension(fileFullName, new String[]{"txt","java"})); 54 System.out.println("(30)判斷文件擴展名是否和指定規則匹配,大小寫敏感:" 55 + FilenameUtils.wildcardMatch(fileName, "*.???")); 56 System.out.println("(31)判斷文件擴展名是否和指定規則匹配,大小寫不敏感:" 57 + FilenameUtils.wildcardMatch(fileName, "*.???",IOCase.INSENSITIVE)); 58 System.out.println("(32)判斷文件擴展名是否和指定規則匹配,根據系統判斷敏感型:windows:不敏感;linux:敏感:" 59 + FilenameUtils.wildcardMatchOnSystem(fileName, "*.???")); 60 61 } 62 }四、打印結果
1 (1)顯示linux路徑:\D:\aa\bb\cc\file.txt 2 (2)合并目錄和文件名為文件全路徑:\D:\aa\bb\cc\file.txt 3 (3)文件路徑去除目錄和后綴后的文件名:file 4 (4)獲取文件的后綴:txt 5 (5)獲取文件的完整目錄:/D:/aa/bb/cc/ 6 (6)獲取文件的目錄不包含結束符:/D:/aa/bb/cc 7 (7)獲取文件名稱,包含后綴:file.txt 8 (8)去除前綴的路徑:D:/aa/bb/cc/ 9 (9)去除前綴并結尾去除分隔符:D:/aa/bb/cc 10 (10)獲取前綴:/ 11 (11)獲取前綴長度:1 12 (12)獲取最后一個.的位置:17 13 (13)獲取最后一個/的位置:12 14 (14)獲取當前系統格式化路徑:\D:\aa\bb\cc\file.txt 15 (16)獲取當前系統無結尾分隔符的路徑:\D:\aa\bb\cc 16 (17)獲取linux系統無結尾分隔符的路徑:\D:\aa\bb\cc 17 (18)移除文件的擴展名:/D:/aa/bb/cc/file 18 (19)轉換分隔符為當前系統分隔符:\D:\aa\bb\cc\file.txt 19 (20)轉換分隔符為linux系統分隔符:/D:/aa/bb/cc/file.txt 20 (21)轉換分隔符為windows系統分隔符:\D:\aa\bb\cc\file.txt 21 (22)判斷目錄下是否包含指定文件或目錄:false 22 (23)判斷文件路徑是否相同:false 23 (24)判斷文件路徑是否相同,格式化并大小寫不敏感:true 24 (25)判斷文件路徑是否相同,格式化并大小寫敏感:true 25 (26)判斷文件路徑是否相同,不格式化,大小寫敏感根據系統規則:windows:敏感;linux:不敏感:false 26 (27)判斷文件擴展名是否包含在指定集合中:true 27 (28)判斷文件擴展名是否等于指定擴展名:true 28 (29)判斷文件擴展名是否包含在指定字符串數組中:true 29 (30)判斷文件擴展名是否和指定規則匹配,大小寫敏感:true 30 (31)判斷文件擴展名是否和指定規則匹配,大小寫不敏感:true 31 (32)判斷文件擴展名是否和指定規則匹配,根據系統判斷敏感型:windows:不敏感;linux:敏感:true轉載自:http://eksliang.iteye.com/blog/2217081
轉載于:https://www.cnblogs.com/jbml-154312/p/7285589.html
總結
以上是生活随笔為你收集整理的转载:FilenameUtils的工具类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓手机音质排行?
- 下一篇: 物业公司要到物价部门办理什么手续?