InputStream in = new FileInputStream("c:/1.txt");
ZipOutputStream out = new ZipOutputStream(
new File("c:/1.zip"));
out.putNextEntry(new ZipEntry("1.txt"));
byte[] data = new byte[1024];
int size = in.read(data);
while (size > -1) {
out.write(data, 0, size);
size = in.read(data);
}
out.closeEntry();
out.close();
in.close();
-------------------------------------------------------------------------
以上是简单代码,异常什么的就不写上来了
请高手帮我解决一下,为什么用以上的代码压缩一个文件后,每次生成的zip包的MD5值会不同?
我在线等,请高手们高抬贵手```尽快回答``

解决方案 »

  1.   

    wizardblue(不死鱼) ,你没碰到类似问题吗?
      

  2.   

    imA(阿梁) ,大侠能不能说得明白点?
    我用winrar测试过,压缩同一个文件,每次生成的zip或rar的MD5值是一样的。。
    但是用java自带的zip压缩类去压缩同一个文件,每次生成的zip的MD5的值却是不一样的!!!
    请imA(阿梁) 大侠再说得请清楚明白点```注:我用winmd5软件来检测MD5值的!
      

  3.   

    java内部有一个MessageDigest实现md5算法,不过我刚才看了半天,也没有看明白它是怎么实现的。
      

  4.   

    你可以调用
    ZipEntry entry = new ZinEntr("1.txt");
    entry.setTime(long time);经常这样的设置以后应该它的MD5就一样了
      

  5.   

    谢谢ChDw(米)和imA(阿梁)问题解决了。。但是我的分不多。。小小意思不成敬意。