如题~~~先拜谢下回帖的达人们TvT

解决方案 »

  1.   

     public class ZipDAO
        {
            public string file;
            public ZipDAO(string dir)
            {
                Console.WriteLine("开始压缩.....");
                file = dir;
            }        public void ZipFold()
            {
                //获得压缩的文件夹
                //压缩文件夹的名字
                string name = file + ".rar";
                //压缩文件的流对象
                // MessageBox.Show(name);
                ZipOutputStream output = new ZipOutputStream(File.Create(name));
                output.SetLevel(6);
                string[] dir = Directory.GetFiles(file);
                //存放文件数据
                Crc32 crc = new Crc32();
                foreach (string myFile in dir)
                {
                    FileStream fs = new FileStream(myFile, FileMode.Open, FileAccess.Read);
                    byte[] bt = new byte[fs.Length];
                    fs.Read(bt, 0, bt.Length);
                    //存储要压缩的文件
                    ZipEntry entry = new ZipEntry(myFile);
                    entry.Size = fs.Length;
                    entry.DateTime = DateTime.Now;
                    fs.Close();
                    crc.Reset();  //清除crc内容
                    crc.Update(bt);  //更新文件内容到crc中
                    entry.Crc = crc.Value;   //将文件内容放到压缩文件中
                    output.PutNextEntry(entry);
                    //将数据写入压缩流中
                    output.Write(bt, 0, bt.Length);
                }
                output.Close();
                Console.WriteLine("压缩成功!");
            }
        }
      

  2.   

    貌似不是我想要实现的功能><
    不过还是谢谢了~~