使用FileUtils簡化你的檔案操作

2021-08-04 23:43:17 字數 2991 閱讀 3777

前言:

在工作當中我們往往遇到很多檔案的操作,我們也習慣寫一些自己定義的工具類來簡化檔案操作,其實apache的commons的fileutils類就是這樣乙個工具類,使用它能大大的簡化我們對檔案的操作。

準備工作:

2.把commons-io-2.4.jar 這個檔案匯入到你的專案中

說明:

1.由於是乙個工具類使用都非常的簡單 所以本文只是將其分類,展示它能夠提供給我們什麼。

2.習慣看api的可以直接看官方的api  傳送門

3.可以看一看官方的指引  指引傳送門

4.fileutils只是commons-io的其中乙個工具類

分類說明演示:

1.寫 檔案/資料夾

/* 寫檔案

* 1.這裡只列出3種方式全引數形式,api提供部分引數的方法過載

* 2.最後乙個布林引數都是是否是追加模式

* 3.如果目標檔案不存在,fileutils會自動建立

* */

fileutils.write(new file("d:/a/b/cxyapi.txt"), "程式換api","utf-8",true);

listlines=new arraylist();

fileutils.writelines(new file("d:/a/b/cxyapi.txt"),lines,true);

2.讀 檔案/資料夾

//讀檔案

//static string:readfiletostring(file file, string encoding)

system.out.println(fileutils.readfiletostring(new file("d:/a/b/cxyapi.txt"), "utf-8"));

//static list:readlines(file file, string encoding)

system.out.println(fileutils.readlines(new file("d:/a/b/cxyapi.txt"), "utf-8")); //返回乙個list

3.刪除 檔案/資料夾

//刪除目錄

//static void:deletedirectory(file directory)

fileutils.deletedirectory(new file("d:/not/cxyapi"));

//static boolean:deletequietly(file file)

fileutils.deletequietly(new file("d:/not/cxyapi")); //資料夾不是空任然可以被刪除,永遠不會丟擲異常

4.移動 檔案/資料夾

//移動檔案 或 資料夾

//static void:movedirectory(file srcdir, file destdir)

fileutils.movedirectory(new file("d:/cxyapi1"), new file("d:/cxyapi2")); //注意這裡 第二個引數檔案不存在會引發異常

//static void:movedirectorytodirectory(file src, file destdir, boolean createdestdir)

fileutils.movedirectorytodirectory(new file("d:/cxyapi2"), new file("d:/cxyapi3"), true);

/* 上面兩個方法的不同是:

* movedirectory:d:/cxyapi2裡的內容是d:/cxyapi1的內容。

* movedirectorytodirectory:d:/cxyapi2資料夾移動到到d:/cxyapi3裡

* * 下面的3個都比較簡單沒提供示例,只提供了api

* 其中movetodirectory和其他的區別是 它能自動識別操作檔案還是資料夾

*///static void:movefiletodirectory(srcfile, destdir, createdestdir)

//static void:movefile(file srcfile, file destfile)

//static void:movetodirectory(file src, file destdir, boolean createdestdir)

5.copy

//結果是cxyapi和cxyapi1在同一目錄

fileutils.copydirectory(new file("d:/cxyapi"), new file("d:/cxyapi1"));

//結果是將cxyapi拷貝到cxyapi2下

fileutils.copydirectorytodirectory(new file("d:/cxyapi"), new file("d:/cxyapi2"));

//拷貝檔案

fileutils.copyfile(new file("d:/cxyapi.xml"), new file("d:/cxyapi.xml.bak"));

//拷貝檔案到目錄中

fileutils.copyfiletodirectory(new file("d:/cxyapi.xml"), new file("d:/cxyapi"));

//拷貝url到檔案

fileutils.copyurltofile(new url(""), new file("d:/cxyapi.xml"));

6.其他

後記:readerstr = fileutils.readfiletostring(sourcefile, "utf-8");有乙個坑,遇到utf-8 編碼以後,首字元會多出乙個空格,要把空格刪掉才行;否則,json轉換報錯;

net.sf.json.jsonexception: a jsonarray text must start with '[' at character 1 of [{

使用FileUtils來簡化檔案操作

習慣於用流的方式來操作一些文件內容時,發現fileutils這個工具類的確在這方面有更好的操作。我來做了一些小的demo 1.先看看怎麼用fileutils來建立乙個資料夾並寫入你的資料。try catch ioexception e 是不是很簡單。下面用list集合的方式寫入資料 list lin...

簡化富文字的使用

簡化富文字的使用 1.如果不進行任何的封裝,直接使用富文字會破壞可讀性,可讀性極差 2.本例子提供了維護性較強的封裝 3.本人僅僅實現了兩種富文字的例項 設定文字字型以及文字屬性 剩下的可以參考本人的實現來進行擴充套件 4.每一種富文字屬性都應該抽象成乙個類,而通過統一的介面進行管理 本例子中,僅僅...

使用註解簡化IoC的基本使用

第一步在xml檔案中新增掃瞄,包的內容是註解包含的範圍 註解的掃瞄 package com.offcn.bean 第二步在需要使用的類的上面加上註解 component new user user context.getbean user user.class system.out.println ...