免费的Zip操作类库--SharpZipLib
来源:互联网 发布:spyder安装python包 编辑:程序博客网 时间:2024/06/06 09:48
1、创建zip文件,并添加文件:
{
zip.BeginUpdate();
zip.Add(@"E:\文件1.txt");
zip.Add(@"E:\文件2.txt");
zip.CommitUpdate();
}
2、将文件夹压缩为文件
最后一个参数是使用正则表达式表示的过滤文件规则。CreateZip方法有3个重载版本,其中有目录过滤参数、文件过滤参数及用于指定是否进行子目录递归的一个bool类型的参数。
3、将文件添加到已有zip文件中
{
zip.BeginUpdate();
zip.Add(@"E:\test.doc");
zip.CommitUpdate();
}
4、列出zip文件中文件
{
string list = string.Empty;
foreach (ZipEntry entry in zip)
{
list += entry.Name + "\r\n";
}
MessageBox.Show(list);
}
5、删除zip文件中的一个文件
{
zip.BeginUpdate();
zip.Delete(@"test.doc");
zip.Delete(@"test22.txt");
zip.CommitUpdate();
}
6、解压zip文件中文件到指定目录下
7、常用类
ZipInputStream、GZipInputStream用于解压缩Deflate、GZip格式流,ZipOutputStream、GZipOutputStream用于压缩Deflate、GZip格式流。
StreamUtil类包含了几个Stream处理辅助方法:
1) Copy(Stream, Stream, Byte[])用于从一个Stream对象中复制数据到另一Stream对象。有多个重写。
2) ReadFully(Stream, Byte [])用于从Stream对象中读取所有的byte数据。有多个重写。
个人用到的一个类,给出:
using System;
using System.Collections.Generic;
using System.Text;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.GZip;
using System.IO;
namespace BtMaker.Common
{
class ZipClass
{
public static void CompressFolder(string zipFileName,string srcDir,bool recurse)
{
if (Directory.Exists(srcDir))
{
(new FastZip()).CreateZip(zipFileName, srcDir, true, "");
}
}
public static void Unzip(string zipFilePath, string unzipDirPath)
{
if (!File.Exists(zipFilePath))
{
return;
}
if (Directory.Exists(unzipDirPath))
{
(new FastZip()).ExtractZip(zipFilePath, unzipDirPath, "");
}
}
public static void CompressFile(string srcFile,string zipFile)
{
if (!File.Exists(srcFile))
{
return;
}
using (ZipFile zip = ZipFile.Create(zipFile))
{
zip.BeginUpdate();
FileInfo fi = new FileInfo(srcFile);
Directory.SetCurrentDirectory(fi.DirectoryName);
zip.Add(fi.Name);
zip.CommitUpdate();
}
}
}
}
- 免费的Zip操作类库--SharpZipLib
- SharpZipLib Zip操作类库 压缩解压
- 使用ICSharpCode.SharpZipLib-(C#)实现解压缩文件的操作类
- 通过ICSharpCode.SharpZipLib类库对zip文件进行压缩与解压
- ICSharpCode.SharpZipLib.Zip 使用
- C# ZIP文件的压缩和解压缩(SharpZipLib.dll)
- 使用SharpZipLib实现zip压缩
- ICSharpCode.SharpZipLib.Zip 中文乱码
- 使用SharpZipLib实现zip压缩
- 使用SharpZipLib实现zip压缩
- 使用SharpZipLib实现zip压缩
- 使用SharpZipLib实现zip压缩
- Zip操作的工具类
- 使用 SharpZipLib 进行压缩的辅助类,简化压缩字节数组和字符串的操作
- C#使用SharpZipLib实现zip压缩
- Java Zip操作的工具类
- Java 的Zip操作
- Zip操作类
- RzPageControl(pagecontrol)实现多标签的动态添加,切换,关闭
- BOOST简介-Intrusive_ptr
- 梨花飘落的瞬间
- 模态对话框(window.showModalDialog),表单内容的提交、刷新父窗口的问题
- 三大开源编码器介绍
- 免费的Zip操作类库--SharpZipLib
- MyBatis获取插入记录的自增长字段值
- 文件I/O
- java的多态认识
- MySQL性能优化经验
- JDWP Transport dt_socket failed to initialize
- 自定义 Yii CGridView 和 CListView 组件
- poi操作office之word篇
- C/C++中枚举类型(enum)