日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

org.apache.commons.io——FileUtils学习笔记

發布時間:2023/12/18 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 org.apache.commons.io——FileUtils学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FileUtils類的應用

1、寫入一個文件;

2、從文件中讀取;

3、創建一個文件夾,包括文件夾;

4、復制文件和文件夾;

5、刪除文件和文件夾;

6、從URL地址中獲取文件;

7、通過文件過濾器和擴展名列出文件和文件夾;

8、比較文件內容;

9、文件最后的修改時間;

10、計算校驗和。

?

一、?復制文件或文件夾方法:

示例:

1 public class CopyFileorDirectory {2 public static void main(String[] args) throws Exception {3 File file1 =new File("path1");4 File file2 =new File("path2");5 File file3 =new File("path3");6 File file4 =new File("path4"); 7 File file5 =new File("path5"); 8 //將文件復制到指定文件夾中,保存文件日期的時間。 9 // 該方法將指定源文件的內容復制到指定目標目錄中相同名稱的文件中。 10 // 如果不存在,則創建目標目錄。如果目標文件存在,則該方法將覆蓋它。 11 FileUtils.copyFileToDirectory(file1,file2);//文件不重命 12 //將文件復制到一個新的地方(重命名文件)并保存文件日期的時間。 13 FileUtils.copyFile(file1,file3); 14 15 //復制文件夾到指定目錄下,如果指定目錄不存在則創建 16 FileUtils.copyDirectoryToDirectory(file2,file4); 17 18 //復制文件夾到指定目錄下并重命名 19 FileUtils.copyDirectory(file4,file5); 20 21 //該方法將指定的源目錄結構復制到指定的目標目錄中。 22 FileUtils.copyDirectory(file4,file5, DirectoryFileFilter.DIRECTORY); 23 24 // 復制文件夾下第一級內容中指定后綴文件 25 IOFileFilter txtSuffixFilter = FileFilterUtils.suffixFileFilter(".txt"); 26 IOFileFilter txtFiles = FileFilterUtils.and(FileFileFilter.FILE, txtSuffixFilter); 27 FileUtils.copyDirectory(file4,file5, txtFiles); 28 29 // 復制文件目錄結構及文件夾下第一級目錄內指定后綴文件 30 FileFilter filter = FileFilterUtils.or(DirectoryFileFilter.DIRECTORY, txtFiles); 31 FileUtils.copyDirectory(file4,file5, filter,false);//preserveFileDate參數默認為true。 32 33 //將字節從URL源復制到文件目的地。如果它們還不存在,則將創建到目的地的目錄。如果已經存在,文件將被覆蓋。 34 URL source = new URL("http://imgsrc.baidu.com/baike/pic/ewe.jpg"); 35 FileUtils.copyURLToFile(source,file5,1000,1000); 36 37 // 等待NFS傳播文件創建,并強制執行超時。該方法重復測試File.exists(),直到它返回true,或直到秒內指定的最大時間。 38 File file = new File("/abc/"); 39 boolean d = FileUtils.waitFor(file,100); 40 System.out.println(d); 41 } 42 }

?二、刪除文件或文件方法

1 public class FileorDirectoryDelete {2 public static void main(String[] args) throws Exception{3 File file = new File("path1");4 File directory = new File("path2");5 //遞歸刪除一個目錄(包括內容)。6 FileUtils.deleteDirectory(directory);7 8 //刪除一個文件,不會拋出異常。如果文件是一個目錄,刪除它和所有子目錄。9 FileUtils.deleteQuietly(file); 10 11 //清理內容而不刪除它。 12 FileUtils.cleanDirectory(directory); 13 14 //刪除一個文件,會拋出異常 15 //如果file是文件夾,就刪除文件夾及文件夾里面所有的內容。如果file是文件,就刪除。 16 //如果某個文件/文件夾由于某些原因無法被刪除,會拋出異常 17 FileUtils.forceDelete(file); 18 } 19 }

三、創建目錄

1 public class CreatDirectory {2 public static void main(String[] args) throws Exception {3 File file = new File("path");4 //創建一個文件夾,如果由于某些原因導致不能創建,則拋出異常5 //一次可以創建單級或者多級目錄6 FileUtils.forceMkdir(new File("/Users/wuguibin/Downloads/folder"));7 //為指定文件創建文件的父級目錄8 FileUtils.forceMkdirParent(file);9 } 10 }

四、移動文件或文件夾

//移動文件夾,并重新命名 FileUtils.moveDirectory(new File("/Users/Downloads/file1"),new File("/Users/Downloads/file2/file3"));//移動文件夾,并給定是否重命名 FileUtils.moveDirectoryToDirectory(new File("/Users/Downloads/file1"),new File("/Users/Downloads/file2/"),false);
//移動文件到指定文件夾中,并重新命名 FileUtils.moveFile(file1,new File("/Users/Downloads/海葡萄.jpen"));
//移動文件到指定文件夾中,并給定是否創建文件夾 FileUtils.moveFileToDirectory(new File("/Users/Downloads/海葡萄.jpeg"), new File("/Users/Downloads/file2"),false);

五、判斷文件是否相同或包含關系、獲取文件或文件夾大小

//確定父目錄是否包含指定子元素(一個文件或目錄)。即directory是否包含file2,在比較之前,文件是標準化的。 boolean a = FileUtils.directoryContains(directory,file2); //比較兩個文件的內容,以確定它們是否相同。 boolean b = FileUtils.contentEquals(file1, file2)

//獲取指定文件或文件夾大小,有可能溢出,變為負值
long l = FileUtils.sizeOf(file1);
System.out.println(l+"KB");
//獲取指定文件或文件夾大小,不溢出
BigInteger bi= FileUtils.sizeOfAsBigInteger(file1);
System.out.println(bi+"kb");

//遞歸地計算一個目錄的大小(所有文件的長度的總和)。
//注意,sizeOfDirectory()沒有檢測溢出,如果溢出發生,返回值可能為負。sizeOfDirectoryAsBigInteger()方法則不溢出。
FileUtils.sizeOfDirectory(file1);
FileUtils.sizeOfDirectoryAsBigInteger(file1);

?六、比較文件新舊

//比較指定文件是否比參考文件創建或修改后時間晚boolean b = FileUtils.isFileNewer(file1,file2));//如果指定的文件比指定的日期更新。SimpleDateFormat date = new SimpleDateFormat("yyyy/MM/dd");String date1 = "2017/06/20";boolean c = FileUtils.isFileNewer(file1,date.parse(date1));boolean d = FileUtils.isFileNewer(file1,23243);//指定文件創建或修改后的時間是否比參考文件或日期早FileUtils.isFileOlder(file1,232434); FileUtils.isFileOlder(file1,System.currentTimeMillis());

七、寫入文件

//把集合里面的內容寫入文件,以指定字符串結束寫入
//void writeLines(File file,Collection<?> lines,String lineEnding,boolean append)
ArrayList<String> list = new ArrayList<>();String str1 = "Java";String str2 = "JSP";list.add(str1);list.add(str2);FileUtils.writeLines(file8,"GBK",list,"java",true);
//把字符串寫入文件//參數1:需要寫入的文件,如果文件不存在,將自動創建。 參數2:需要寫入的內容//參數3:編碼格式 參數4:是否為追加模式( ture: 追加模式,把字符串追加到原內容后面)String data1 = "認真";FileUtils.writeStringToFile(file,data1, "UTF-8", true);//把字節數組寫入文件byte [] buf = {13,123,34};System.out.println(new String(buf));FileUtils.writeByteArrayToFile(file13,buf,0,buf.length,true);

八、讀取文件及獲取輸入輸出流

//將文件的內容讀入一個字符串中。String str = FileUtils.readFileToString(file,"UTF-16" ); FileUtils.readFileToByteArray(file);//把文件讀取到字節數組里面byte[] readFileToByteArray(final File file)//把文件讀取成字符串 ;Charset encoding:編碼格式String readFileToString(final File file, final Charset encoding)//把文件讀取成字符串集合 ;Charset encoding:編碼格式List<String> list4 =FileUtils.readLines( new File("/Users/Shared/筆記/java.txt"),"UTF-8"); Iterator it = list4.iterator(); while (it.hasNext()){ Object obj=it.next(); System.out.println(obj); } //獲取輸入流 FileUtils.openInputStream(file); //獲取輸出流 FileUtils.openOutputStream(file);

?

轉載于:https://www.cnblogs.com/gdwkong/p/7105823.html

總結

以上是生活随笔為你收集整理的org.apache.commons.io——FileUtils学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。