[JAVA_Apache]使用commons compress套件,使用壓縮檔zip、解壓縮unZip
java.util.zip無法處理與中國,日本,Unicode字符的文件名稱
使用commons compress套件
可以解決使用java.util.zip套件作壓縮時,為什麼中文檔名都會變亂碼的問題。
是java 的bug
java bug_id 4820807
java bug_id 4885817
java bug_id 4244499
技術參考 api
Commons Compress 1.5-SNAPSHOT API
取得jar
apache compress 官網
maven
examples
apache examples
簡單的測試程式
package com.test;
import java.awt.Desktop;
import java.io.File;
import java.io.FileOutputStream;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
public class ZipTest {
public static void main(String[] args) throws Exception{
File zipFile = File.createTempFile("zipTest", ".zip");
FileOutputStream fos = new FileOutputStream(zipFile);
ZipArchiveOutputStream aos = new ZipArchiveOutputStream(fos);
aos.setEncoding("BIG5");
try {
ZipArchiveEntry entry = new ZipArchiveEntry("中文解壓測試.txt");
aos.putArchiveEntry(entry);
aos.write("中文解壓測試".getBytes());
aos.closeArchiveEntry();
} finally {
aos.close();
fos.close();
}
//開啟檔案
Desktop.getDesktop().open(zipFile);
}
}
參考
[JAVA_程式分享]使用commons compress套件,使用壓縮檔zip、解壓縮unZip
其它文章
留言列表