C#压缩单个文件

1、压缩方法

/// <summary>

/// 压缩

/// </summary>

/// <param name="source">源目录</param>

/// <param name="s">ZipOutputStream对象</param>

public static void Compress(string source, ZipOutputStream s)

{

string\[\] filenames = Directory.GetFiles(source);

foreach (string file in filenames)

{

using (FileStream fs = File.OpenRead(file))

{

byte\[\] buffer = new byte4 \* 1024;

ZipEntry entry = new ZipEntry(Path.GetFileName(file));

entry.DateTime = DateTime.Now;

s.PutNextEntry(entry);

int sourceBytes;

do

{

sourceBytes = fs.Read(buffer, 0, buffer.Length);

s.Write(buffer, 0, sourceBytes);

} while (sourceBytes > 0);

}

}

}

2、压缩单个文件

/// <summary>

/// 压缩单个文件

///</summary>

/// <param name="fileToZip">要进行压缩的文件名</param>

/// <param name="zipedFile">压缩后生成的压缩文件名</param>

public static void ZipFile(string fileToZip, string zipedFile)

{

try

{

Directory.CreateDirectory(Path.GetDirectoryName(zipedFile));

using (ZipOutputStream s = new ZipOutputStream(File.Create(zipedFile)))

{

s.SetLevel(6);

Compress(fileToZip, s);

s.Finish();

s.Close();

}

Console.Read();

}

catch (Exception ex)

{

throw new System.Exception(ex.Message);

}

}

3、调用

ZipFile("C\\档案\\测试1", C\\档案\\测试1 + ".zip");

相关推荐
汤米粥15 分钟前
Python调用百度搜索触发安全验证
开发语言·python
影寂ldy23 分钟前
C# 五大加密算法全套实战(AES/DES对称、RSA非对称、MD5/SHA256哈希)
开发语言·c#·哈希算法
互联网底层民工34 分钟前
异步 / 多线程并发(高频八股 · 详解版)
c#
罗超驿1 小时前
6.Java LinkedList深度解析:从链表原理到源码实践
java·开发语言·链表
2501_948106911 小时前
计算机毕业设计之jsp物业管理系统
java·大数据·开发语言·汽车·课程设计
逝水无殇1 小时前
C# 反射详解
开发语言·后端·c#
xlxxy_1 小时前
sap获取批次特性报表
java·linux·开发语言·前端·数据库·abap·mm
北冥you鱼1 小时前
Go语言常用包使用指南:从标准库到第三方利器
开发语言·microsoft·golang
神秘的MT1 小时前
SQL Server 分页查询 ROW_NUMBER () OFFSET...FETCH游标(Cursor) 数据插入
数据库·sql·学习·c#·winform