在EncryptZip的项目中对Zip的加密/解密没有包含带子文件夹的需求, 只有一层的关系.
在此文中给出普通的zip压缩/解压缩的Java代码, 压缩时递归压缩文件,包含文件及文件下的空文件夹. 若Flex端需要类似的功能, 可以参考本文中的zipFileWithTier 和unZipFileWithTier方法.
代码如下:
public class ZipFileWithTier {
private static final String zipPath = "C:\\temp\\Lemur\\empty.zip";
private static final String unzipPath = "C:\\temp\\Lemur\\";
private static final String srcFiles = "C:\\temp\\Lemur\\empty";
@Test
public void zipFile(){
File file = new File(zipPath);
if(file.exists())
file.delete();
zipFileWithTier(srcFiles, zipPath);
}
@Test
public void upZipFile(){
try {
unzipFilesWithTier(readFileByte(zipPath), unzipPath + File.separator);
} catch (IOException e) {
e.printStackTrace();
}
}
/*
* Compress the specify file that contains sub-folders and store them to a zipfile.
* @