importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.ObjectInputStream;
importjava.io.ObjectOutputStream;
importjava.security.Key;
importjava.security.KeyPair;
importjava.security.KeyPairGenerator;
importjava.security.PrivateKey;
importjava.security.PublicKey;
importjava.security.SecureRandom;
importjava.util.Properties;
importjava.util.UUID;
importjava.util.zip.ZipEntry;
importjava.util.zip.ZipInputStream;
importjava.util.zip.ZipOutputStream;
importjavax.crypto.Cipher;
/**
* 对文件压缩加密/解密解压缩 对象类
*
*/
publicclassZipEncrypt {
privatestaticPrivateKey privateKey;
privatestaticPublicKey publicKey;
privatestaticvoiddirectoryZip(ZipOutputStream out, File f, String base)
throwsException {
// 如果传入的是目录
if(f.isDirectory()) {
File[] fl = f.listFiles();
// 创建压缩的子目录
out.putNextEntry(newZipEntry(base +"/"));
if(base.length() ==0) {
base ="";
}else{
base = base +"/";
}
for(inti =0; i
directoryZip(out, fl[i], base + fl[i].getName());
}
}else{
// 把压缩文件加入rar中
out.putNextEntry(newZipEntry(base));
FileInputStream in =newFileInputStream(f);
byte[] bb =newbyte[2048];
intaa =0;
while((aa = in.read(bb)) != -1) {
out.write(bb,0, aa);
}
in.close();
}
}
/**
* 压缩文件