天天看點

org.apache.commons.io 中 IOUtils和FilenameUtils工具類

概述

首先導入commons-io-2.4.jar包,找到org.apache.commons.io ,在這裡可以看到許多已經封裝好的工具類,其中就有FilenameUtils和IOUtls這兩個工具類

IOUtils的常用方法

copy方法

拷貝流,支援資料間的拷貝,不需要像之前一樣輸入流,讀取,輸出流這個麻煩的過程了,内部使用的是copyLarge方法,能夠拷貝Integer.MAX_VALUE的位元組數

copy(InputStream inputstream,OutputStream outputStream)
 copy(InputStream inputstream,Writer writer)
 copy(InputStream inputstream,Writer writer,encoding)
 copy(Reader reader,Writer writer)
 copy(Reader reader,OutputStream outputStream)
 copy(Reader reader,OutputStream outputStream,encoding)
           

copyLarge方法

适合拷貝較大的資料流,例如2G以上,會用一個固定大小的字元數組,持續不斷的讀取資料,然後寫入到輸出流中

copyLarge(reader,writer){}//預設會用1024*4長度的字元數組讀取
copyLarge(reader,writer,char[] ch){}//可以定義傳送的字元數組
closeQuietly()//忽略異常,關閉某個流
           
FilenameUtils

的常用方法

//1.判斷兩個檔案名是否相等,區分大小寫
FilenameUtils.equals(file1,file2);
//2.擷取檔案基本名
FilenameUtils.getBaseName(filefullname);//參數是完整的路徑名
//3.擷取檔案拓展名
FilenameUtils.getExtension(filefullname);
//4.擷取檔案全路徑,不含檔案名
FilenameUtils.getFullPath(filefullname);
//5.判斷檔案的擴充名是否為指定擴充名
FilenameUtils.isExtension(filename, extension);
FilenameUtils.isExtension(filename, String[] extensions);
FilenameUtils.isExtension(filename, list<String> extensions);
           

繼續閱讀