import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream; public class ZipCompress ...{ public static void main(String[] args)...{ InputStream is=null; OutputStream os =null; ZipOutputStream zip =null; try ...{ /**//*创建一个输入流读取文件*/ is=new FileInputStream("d:/cvsnt-2.5.03.2151.msi"); /**//*创建一个输出流写入文件*/ os= new FileOutputStream("d:/cvsnt-2.5.03.2151.zip"); /**//*创建Zip输出流这个类用于将输出流指定的文件进行压缩*/ zip=new ZipOutputStream(os); /**//*一个注释方法用于写注释用可有可无!*/ zip.setComment("file"); /** *//** * putNextEntry这个API文档说的比较抽象,我理解为生成压缩文件后,在压缩文件中包含的具体文件 * ZipEntry 生成最终的文件 * */ String newFileName = "newFile.msi"; zip.putNextEntry(new ZipEntry(newFileName)); /**//*以下为输出文件*/ byte[] b=new byte[1024]; int i=0; while((i=is.read(b))!=-1)...{ zip.write(b, 0, i); i=0; } } catch (IOException e) ...{ // TODO 自动生成 catch 块 e.printStackTrace(); }finally...{ try ...{ zip.flush(); zip.close(); os.close(); is.close(); } catch (IOException e) ...{ // TODO 自动生成 catch 块 e.printStackTrace(); } } }} 中文乱码有待解决需要查资料! 知道的高手说下!