我把文件压缩后好像文件的内容与原来不一致,有些错位。
什么原因呢????贴:源代码
/**
    * compress a directory to a zipfile with a name of directory name
    * @param direct File
    * @param zipFile File
    * @throws IOException
    */
   public void ZIPFiles(File direct, File zipFile) throws
       IOException {
       if (direct.isDirectory()) {
           FileOutputStream f = new FileOutputStream(zipFile);
           CheckedOutputStream csum = new CheckedOutputStream(f, new Adler32());
           ZipOutputStream zos = new ZipOutputStream(csum);
           BufferedOutputStream out = new BufferedOutputStream(zos);
           zos.setComment("java zipping for nimble [email protected]");           File[] files = direct.listFiles();
           int filePieces = files.length;
           if (filePieces > 0) {               for (int i = 0; i < filePieces; i++) {
                   System.out.println("Write File" + files[i].getName() + "...");
                   BufferedReader in = new BufferedReader(new FileReader(files[i]));
                   zos.putNextEntry(new ZipEntry(files[i].getName()));
                   int c;
                   while ( (c = in.read()) != -1)
                       out.write(c);
                   in.close();               }           }
           out.close();
           System.out.println("Checksum:" + csum.getChecksum().getValue());       }
       else {
           System.out.println("direct is not a valid directory");
       }   }
   //test ZIPFiles(File direct, File zipFile)
            File zipFile = new File("E:\\jb_test\\nimbleZip\\src","controlCls.zip");
            File direct = new File("E:\\jb_test\\nimbleZip\\src\\controlCls");
            demo.ZIPFiles(direct,zipFile);