UdeFileUtils
建議使用「UDE 邏輯檔案元件」,僅使用 UDE 函式庫時,才用 UdeFileUtils 操作原生 java File。
基本 Reader/Writer
- 提供由檔案建立相關InputStream/OutputStream/Reader/Writer功能。
- 建立的實作一律為Buffered。
- 建立Writer/OutputStream時,若檔案所在父目錄不存在,會一併先行建立。
- 預設無指定 ENCODING 時,Writer/Reader 一律採 UTF-8 編碼。
- 請得用 try-with-resource 以自動於 finally close
刪除單一檔案或空目錄
- 與 FileUtils.deleteQuietly(File) 不同,若目的不為空目錄時無法刪除。
- UdeFileUtils.quiteDelete(File):
- return true, 當檔案已刪除,或本來就不存在時 (含file==NULL)。
- return false, 檔案無法刪除,若此檔對業務流程有意義,應設法處理。
建立相依檔名 File
提供一些建立相依檔案的便利機制。例如做格式轉檔時,可能會做副檔名變更、或是有時需要建立FLAG用途的檔案時。
替換檔案副檔名,如 aaa.txt->aaa.xml、bbb->bbb.csv。
- UdeFileUtils.asExtName(srcFile, extName);
// 輸入範例 // srcFile:“FOOAOO.pdf”, extName : “doc”, resultFile : FOOAOO.doc // srcFile:“FOO.BOO.pdf”, extName : “DOC”, resultFile : FOO.BOO.DOC // srcFile:“FOO.BOO.pdf”, extName : “”, resultFile : FOO.BOO
在檔案的主要檔名之後增加後綴名稱
- UdeFileUtils. asSuffix (srcFile, suffix);
// 輸入範例 // srcFile:“FOOAOO.pdf”, suffix: “_01”, resultFile : FOOAOO_01.pdf // srcFile:“FOOBOO.pdf”, suffix: “”, resultFile : FOOBOO.pdf // srcFile:“FOO”, suffix: “COO”, resultFile : FOOCOO
其它曾實作過,但尚未移稙入 UDE 的功能:
- 以 iterator 列舉所有子目錄及檔案,避免檔案過多(幾萬、幾十萬個以上)時會爆掉的問題。