前言:
在工作當中我們往往遇到很多檔案的操作,我們也習慣寫一些自己定義的工具類來簡化檔案操作,其實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 ...