-
解压缩文件示例(rar、zip、7zip、Gzip、tar...等)
本程序是基于 sharpcompress-master 设计的演示程序。开原地址:https://github.com/adamhathcock/sharpcompress。1. 程序主要展示了压缩文件的解压缩,支持的文件类型有:rar、zip、7zip、Gzip、tar......等压缩格式,展示了密码解压、分卷解压、解压进度等功能。2. 不支持“带密码的分卷压缩文件”的解压;无密码分卷压缩、单个带密码文件正常解压。3. 此程序在设计中,对组件源代码进行了修改,与原组件代码对照查看。4、sharpcompress-master组件功能繁多,比如,文件压缩为图片、压缩文件内文件添加删除、更名等等,对照现有的压缩软件,功能均具备,可在代码中查看使用。本示例只是展示了解压缩功能。此程序为识别全部压缩格式,未引用DLL,全部为cs文件,如有错误,自行对照修正。private void Uncompress(string archiveFile, string destinationPath, string password = null) { var archive = ArchiveFactory.Open(archiveFile, new ReaderOptions() { Password = password, LeaveStreamOpen = true }); volumes = archive.Entries.Count(); archive.EntryExtractionBegin = archive_EntryExtractionBegin; archive.FilePartExtractionBegin = archive_FilePartExtractionBegin; archive.CompressedBytesRead = archive_CompressedBytesRead; Task.Run(() => { long order = 0; foreach (var entry in archive.Entries) { if (!entry.IsDirectory) { entry.WriteToDirectory(destinationPath, new ExtractionOptions() { ExtractFullPath = true, Overwrite = true, }); } order ; this.CrossThreadCalls(() => { if (volumes > 1) { progress[0].Value = CreatePercentage(order, volumes); } }); } MessageBox.Show("解压缩任务完成 !"); }); } private void archive_EntryExtractionBegin(object sender, ArchiveExtractionEventArgs e) { entryTotal = e.Item.Size; info_builde1 = "提取文件: " e.Item.Key ";"; } private void archive_FilePartExtractionBegin(object sender, FilePartExtractionBeginEventArgs e) { partTotal = e.Size; info_builde2 = "分卷:" e.Name ";"; } private void archive_CompressedBytesRead(object sender, CompressedBytesReadEventArgs e) { string percentage = entryTotal.HasValue ? CreatePercentage(e.CompressedBytesRead, entryTotal.Value).ToString() : "Unknown"; info_builde = info_builde1 info_builde2 "字节:" e.CompressedBytesRead ";百分比:" percentage "%"; this.CrossThreadCalls(() => { compress_Info.Text = info_builde; progress[1].Value = int.Parse(percentage) > 100 || int.Parse(percentage) < 0 ? 100 : int.Parse(percentage); if (volumes < 2) progress[0].Value = progress[1].Value; Application.DoEvents(); }); } private int CreatePercentage(long n, long d) { return (int)(((double)n / (double)d) * 100); }
- 2019-07-21下载
- 积分:1
-
C#基于Surfer开发等值线图
主要应用与气象,地理有关的系统,基于Surfer8开发的做等值线图程序
- 2013-06-19下载
- 积分:1
-
ICSharpCode.SharpZipLib.dll 解压缩文件例子 并附完整ISharpZip项目源码
ICSharpCode.SharpZipLib.dll 解压缩文件例子 并附完整ISharpZip项目源码
- 2013-06-25下载
- 积分:1
-
C#web断点续传 例子源码下载
C#web断点续传
- 2015-04-10下载
- 积分:1
-
西门子PLC s-1200、s-1500通讯
VB、C#等PC高级语言与西门子PLC(S7-200Smart、S7-1200、S7-1500、S7-300、S7-400等)以太网、串口通讯
- 2020-04-24下载
- 积分:1
-
C#操作XML实例,含基本的增删改查询操作
最基本的xml操作实例,含常用操作方法
- 2013-01-20下载
- 积分:1
-
asp.net C#+jquery+ajax 无刷新留言板
本例采用asp.net C# jquery1.4.1 ajax的实现 本例主要用aspx文件请求 还可以用ashx处理 ajax返回类型也很多如: dataType: "xml",dataType: "json",其实可区分为三种Text:“text/plain“;XML:“application/xml“;JSON:“application/json“.dataType为xml的时候,response.Write(string)中的字符串一定要符合xml的格式,为json的时候,response.Write(string)中的字符串一定要符合json的格式为否则会出现解析错误,这个和aspx页是一样的。如果要使用session的话,在handler的代码中添加System.Web.SessionState的引用,并让这个handler继承IRequiresSessionState接口,一定要继承这个接口,否则会出错的。以上本人简单总结只有用使用到它才能感觉到很奇妙主要jquery ajax静态页面查询添加 数据无刷新效果对初学者很有帮助 如有不懂地方可以加我QQ:709047174数据库采用的sql2008 你也可以选择2000、2005 等mysql数据库数据库文本 在App_Data中 feedbootdb.sql打开.sql文件并按照说明运行它即可,如运行不成功请可以自己打开sql服务管理器手动添加表。2013-08-221、新增ajax无刷新分页类似留言板样例
- 2014-07-22下载
- 积分:1
-
ITextSharp 生成PDF实例,实例中还包含调用模版生成Word功能 附完整源码
压缩包中包含 ITextSharp中文教程用C#制作PDF文件全攻略.pdf 以及 用C#生成PDF文件、调用模版生成Word文档 等很多比较实用的实例,详见压缩包与截图,其中附完整源码
- 2013-04-13下载
- 积分:1
-
C#解析json、导出一年的节假日信息和获得一年内的365天
【实例简介】好些时候需要获得中国的法定节假日信息,本例就是获得一个这样的excel
- 2021-08-15 00:31:04下载
- 积分:1
-
C# 文件编码转换工具(支持UTF-8/UTF-7/Unicode/ASCII/GB2312(简体中文)/BIG5 (繁体中文)等编码转换 )
文件编码转换工具,批量转换文件到UTF8,支持自识别原格式,支持备份。
- 2019-06-28下载
- 积分:1