壓縮工具
UdeCompressUtils
資料壓縮工具,統一用GZIP壓縮,並將結果用 BASE64 編碼呈現為純文字格式,以便網頁程式或其它資料交換情境應用。
可處理的原始內容含以下三種,其壓縮、反解函式分別如下:
- asBase64(byte[]) / binaryFromBase64(String)
- asBase64(Serializable) / deserializeFromBase64(Class
, String) - asBase64(String) / stringFromBase64(String)
Zip 工具
一般檔案的ZIP/UNZIP工具。內部使用net.lingala.zip4j處理。
ZipFileHelper
列舉與反解可以使用
- ZipFileHelper.unzip(File zipFile, File output) :: void
- ZipFileHelper.listzip(File zipFile) :: List
以 zip4j 建立 ZipFile 物件後,也可使用其函式加入單一檔案。
- zip(ZipFile, File, String, ZipParameters)
- zip(ZipFile, File, ZipParameters)
ZipFileBuilder
- 但執行ZIP時,建議使用 UDE包裝的 ZipFileBuilder。
- 若使用UDE-FileSystem套件的邏輯檔案系統,它也有針對LogicalFile的包裝方式,請另行參考該套件說明文件。
- SAMPLE
// 建立BUILDER final File zipFile = makeFile(".zip"); try (ZipFileBuilder zipFileBuilder = new ZipFileBuilder(zipFile)) { // 加入單一檔案 zipFileBuilder.add(file1); // 加入 folder 下所有檔案,並將 'folder' 在 zip 檔中更名為 "sub" zipFileBuilder.add(folder, "sub"); } // Closeable :: zipFileBuilder.close 後,壓縮內容即寫入到 zipFile 中。
- 加密碼 SAMPLE
try (ZipFileBuilder zipFileBuilder = new ZipFileBuilder(zipFile, password)) { zipFileBuilder.add(file1); zipFileBuilder.add(file2); }