首頁 Java java教程 FileUtils類別的應用程式實例教程

FileUtils類別的應用程式實例教程

Jul 03, 2017 am 10:09 AM
筆記

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);
登入後複製
###

以上是FileUtils類別的應用程式實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1324
25
PHP教程
1272
29
C# 教程
1251
24
小紅書筆記怎麼刪除 小紅書筆記怎麼刪除 Mar 21, 2024 pm 08:12 PM

小紅書筆記怎麼刪除?在小紅書APP中是可以編輯筆記的,多數的用戶不知道小紅書筆記如何的刪除,接下來就是小編為用戶帶來的小紅書筆記刪除方法圖文教程,有興趣的用戶快來一起看看吧!小紅書使用教學小紅書筆記怎麼刪除1、先打開小紅書APP進入到主頁面,選擇右下角【我】進入到專區;2、之後在我的專區,點擊下圖所示的筆記頁面,選擇要刪除的筆記;3、進入到筆記頁面,右上角【三個點】;4、最後下方會展開功能欄,點選【刪除】即可完成。

小紅書刪除的筆記能恢復嗎 小紅書刪除的筆記能恢復嗎 Oct 31, 2023 pm 05:36 PM

小紅書刪除的筆記不能恢復。小紅書作為知識分享和購物平台,為使用者提供了記錄筆記和收藏有用資訊的功能。根據小紅書的官方說明,已經刪除的筆記是無法恢復的。小紅書平台並沒有提供專門的筆記恢復功能。這意味著,一旦在小紅書中刪除了筆記,無論是不小心誤刪還是其他原因,一般情況下是無法從平台上找回被刪除的內容的。如果遇到特殊情況,可以嘗試聯絡小紅書的客服團隊,看是否能夠協助解決問題。

如何在最新的iOS 17系統中連接iPhone上的Apple Notes 如何在最新的iOS 17系統中連接iPhone上的Apple Notes Sep 22, 2023 pm 05:01 PM

使用新增連結功能在iPhone上連結AppleNotes。筆記:如果您已安裝iOS17,則只能在iPhone上的AppleNotes之間建立連結。在iPhone上開啟「備忘錄」應用程式。現在,打開要在其中添加連結的註釋。您也可以選擇建立新備忘錄。點擊螢幕上的任何位置。這將向您顯示一個選單。點擊右側的箭頭以查看“新增連結”選項。點擊它。現在,您可以鍵入註解的名稱或網頁URL。然後,點擊右上角的完成,新增的連結將出現在筆記中。如果要添加指向某個單字的鏈接,只需雙擊該單字即可將其選中,選擇“添加鏈接”並按

小紅書發布過的筆記不見了怎麼辦?它剛發的筆記搜不到的原因是什麼? 小紅書發布過的筆記不見了怎麼辦?它剛發的筆記搜不到的原因是什麼? Mar 21, 2024 pm 09:30 PM

作為一名小紅書的用戶,我們都曾經遇到過發布過的筆記突然不見了的情況,這無疑讓人感到困惑和擔憂。在這種情況下,我們該怎麼辦呢?本文將圍繞著「小紅書發布過的筆記不見了怎麼辦」這個主題,為你詳細解答。一、小紅書發布過的筆記不見了怎麼辦?首先,不要驚慌。如果你發現筆記不見了,保持冷靜是關鍵,不要慌張。這可能是由於平台系統故障或操作失誤引起的。檢查發布記錄很簡單。只要打開小紅書App,點擊“我”→“發布”→“所有發布”,就可以查看自己的發布記錄。在這裡,你可以輕鬆找到之前發布的筆記。 3.重新發布。如果找到了之

小紅書怎麼在筆記中加入商品連結 小紅書在筆記中加入商品連結教學 小紅書怎麼在筆記中加入商品連結 小紅書在筆記中加入商品連結教學 Mar 12, 2024 am 10:40 AM

小紅書怎麼在筆記中添加商品連結?在小紅書這款app中用戶不僅可以瀏覽各種內容還可以進行購物,所以這款app中關於購物推薦、好物分享的內容是非常多的,如果小夥伴在這款app也是一個達人的話,也可以分享一些購物經驗,找到商家進行合作,在筆記中添加連結之類的,很多人都願意使用這款app購物,因為不僅方便,而且有很多達人會進行一些推薦,可以一邊瀏覽有趣內容,一邊看看有沒有適合自己的衣服商品。一起看看如何在筆記中添加商品連結吧!小紅書筆記添加商品連結方法  在手機桌面上開啟app。  在app首頁點擊

小紅書發筆記教學怎麼弄?它發布筆記可以屏蔽人嗎? 小紅書發筆記教學怎麼弄?它發布筆記可以屏蔽人嗎? Mar 25, 2024 pm 03:20 PM

小紅書作為一個生活風格分享平台,涵蓋了美食、旅行、美妝等各個領域的筆記。許多用戶希望在小紅書上分享自己的筆記,但卻不清楚如何操作。在這篇文章中,我們將詳細介紹小紅書發布筆記的流程,並探討如何在平台上封鎖特定使用者。一、小紅書發布筆記教學怎麼弄? 1.註冊登入:首先,需要在手機上下載小紅書APP,並完成註冊登入。在個人中心完善個人資料是很重要的。透過上傳個人資料、填寫暱稱和個人簡介,可以讓其他使用者更容易了解你的訊息,也能幫助他們更好地關注你的筆記。 3.選擇發布頻道:在首頁下方,點選「發筆記」按鈕,選擇你想

在 iPhone 的 Notes 應用程式中掃描列印和手寫筆記 在 iPhone 的 Notes 應用程式中掃描列印和手寫筆記 Nov 29, 2023 pm 11:19 PM

2022年,Apple為iPhone和iPad上的Notes應用程式添加了一項新功能,可讓您快速掃描列印或手寫文字並將其儲存為數位文字格式。繼續閱讀以了解其工作原理。在早期版本的iOS和iPadOS上,將文字掃描到Apple的Notes應用程式中需要點擊筆記的文字字段,然後點擊彈出式選單中的「即時文字」選項。然而,Apple在2022年使現實世界的筆記數位化變得更加容易。以下步驟向您展示如何在執行iOS15.4或iPadOS15.4及更高版本的裝置上完成此操作。在iPhone或iPad上,打開“

如何在iPhone上恢復已刪除的筆記 如何在iPhone上恢復已刪除的筆記 Jul 14, 2023 pm 07:25 PM

大多數人會記下所有內容,包括食譜、生日、歌詞等。在他們的iPhone的筆記應用程式上。但是許多iPhone用戶報告說,他們錯誤地刪除了iPhone上非常重要的筆記,現在他們非常緊張和沮喪。他們不知道如何在iPhone上恢復它。我們對此事進行了大量研究,並找到了兩種從iPhone恢復已刪除筆記的方法。在本文中,我們將解釋這兩種方法,您可以使用它們輕鬆取回已刪除的筆記。如何透過筆記應用程式恢復已刪除的筆記步驟1:您應該先從iPhone上的主畫面啟動Notes應用程式。第2步:啟動Notes應用程式

See all articles