网上有诸多打包一个文件夹的例子,但是缺少打包单个文件的例子。下面是修改的一个,可以用来打包单个文件。
/**
* 压缩单个文件
* @param inputUrl 被压缩文件所在目录路径,包含xml文件名称
* @param fileName 在压缩包中的文件名称
* @param outputUrl 压缩文件输出路径,包括zip文件名称
*/
public void zipOneFile(String inputUrl,String fileName,String outputUrl) {
try {
int leng = 0;
byte[] b = new byte[BUFFER];
File f = new File(inputUrl);
FileOutputStream dest = new FileOutputStream(outputUrl);
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest));
FileInputStream fis = new FileInputStream(f);
ZipEntry entry = new ZipEntry(fileName);
out.putNextEntry(entry);
while ((leng = fis.read(b)) != -1) {
out.write(b, 0, leng);
}
out.close();
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}