import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
//ZipOutputStream这个流在这里
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZOS {
public static void compress(String fileUrl) {
File f = new File(fileUrl);
String parent = f.getParent();
String name = f.getName();
name = name.substring(0,name.length()-4);
try {
FileInputStream fis = new FileInputStream(f);
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] buf = new byte[1024];
int len;
FileOutputStream fos = new FileOutputStream(parent + "\\" + name + ".zip");
BufferedOutputStream bos = new BufferedOutputStream(fos);
ZipOutputStream zos = new ZipOutputStream(bos);// 压缩包
ZipEntry ze = new ZipEntry(f.getName());// 这是压缩包名里的文件名
zos.putNextEntry(ze);// 写入新的 ZIP 文件条目并将流定位到条目数据的开始处
while ((len = bis.read(buf)) != -1) {
zos.write(buf, 0, len);
zos.flush();
}
bis.close();
zos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}