zoukankan      html  css  js  c++  java
  • [C#]用SharpZipLib压缩多个文件

    private void simpleButton1_Click(object sender, EventArgs e)
    {
        string dbpath = Application.StartupPath   @"\db";
        string backuppath=Application.StartupPath @"\backup";
        zipdbfile(dbpath, backuppath);
    }
    private void zipdbfile(string dbpath, string backuppath)
    {
        ZipOutputStream ZipStream = null;
        Random rad=new Random();
        try
        {
            string[] filenames = Directory.GetFiles(dbpath);
            Crc32 crc = new Crc32();
            string temp = backuppath   "\\"   DateTime.Now.ToString("yyyy.mm.dd.hh.mm.ss")   ".bak";
            if (File.Exists(temp))
            {
                temp = backuppath   "\\"   DateTime.Now.ToString("yyyy.mm.dd.hh.mm.ss.")   rad.Next(0, 100)   ".bak";
            }
            ZipStream = new ZipOutputStream(File.Create(temp));
            foreach (string file in filenames)
            {
                FileStream fs = File.OpenRead(file);
                byte[] buffer = new byte[fs.Length];
                fs.Read(buffer, 0, buffer.Length);
                string files = file.Substring(file.LastIndexOf(@"\")).Split('\\')[1].ToString();
                ZipEntry entry = new ZipEntry(files);
                entry.DateTime = DateTime.Now;
                entry.Size = fs.Length;
                fs.Close();
                crc.Reset();
                crc.Update(buffer);
                entry.Crc = crc.Value;
                ZipStream.PutNextEntry(entry);
                ZipStream.Write(buffer, 0, buffer.Length);
            }
            ZipStream.Finish();
            ZipStream.Close();
        }
        catch (Exception ex)
        {
            XtraMessageBox.Show("备份失败:"   ex.Message, "友情提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            if (ZipStream!=null)
            {
                ZipStream.Close();
            }
        }
    }
  • 相关阅读:
    CSS position, z-index
    Js闭包函数
    .net 全局配置读取
    redis学习
    .net core websocket
    .net core 部署应用程序注意事项
    signalr网上学习资料
    Cocos Creator 中如果Node在"属性检查器"中active设置为false, 则 onLoad 不会执行
    SVN服务器搭建(一)
    IndentityServer4
  • 原文地址:https://www.cnblogs.com/Hsppl/p/2597660.html
Copyright © 2011-2022 走看看