本文介绍用C1Zip的C1ZipFile类处理Zip文件,它包括创建、打开、编辑标准的Zip文件。还可以列出Zip文件中的条目,添加、删除、扩展或查看文件,压缩整个目录,并使用密码保护/加密。
C1ZipFile是处理zip文件的类。C1ZipFile具有一个C1ZipFile.Entries属性,该属性代表了一个zip文件中条目的集合。
创建Zip文件
创建:使用C1ZipFile的Create两个不同方法可以在数据流或是硬盘上创建一个新的Zip文件。
打开:使用C1ZipFile的Open两个不同方法可以打开数据流或是硬盘上的Zip文件。
处理Zip文件
列出Zip文件中的条目:通过C1ZipFile.Entrie集合获得所有在Zip文件中的条目。通过代码可以得到文件的详细信息,各个条目的路径信息,以及Zip文件的注释。
// fill out list
var zec = _zipFile.Entries;
listView.BeginUpdate();
foreach (C1ZipEntry ze in zec)
{
var fa = ze.Attributes;
var entry = new String[]
{
FileName(ze.FileName), // file name, no extension
FileExtension(ze.FileName), // file extension, no dot
ze.Date.ToString("MM/dd/yy HH:mm"), // mod date/time
ze.SizeUncompressedLong.ToString("#,##0"), // original size
ze.SizeCompressedLong.ToString("#,##0"), // compressed size
AttribString(ze.Attributes), // encode as "rahs"
((uint)ze.CRC32).ToString(), // CRC32 (unsigned looks better)
ze.Comment // user comment
};
var lvi = new ListViewItem(entry);
lvi.Tag = ze;
lvi.ImageIndex = ((ze.Attributes & FileAttributes.Directory) != 0)? 0: 1;
if (ze.IsEncrypted) lvi.ImageIndex = 3;
listView.Items.Add(lvi);
}
添加文件:使用C1ZipFile.Entries.Add方法可以添加文件到当前打开的Zip文件中。
添加目录:使用C1ZipFile.Entries.AddFolder方法可以把整个目录下的所有文件添加到当前打开的Zip文件中。
压缩:用C1ZipFile.CompressionLevel属性获取和设置文件条目添加到Zip文件的压缩级别。首先设置C1ZipFile的CompressionLevel属性,然后用Add或AddFolder方法将文件添加到Zip文件中,就会使用设置的压缩级别添加。默认的压缩级别是C1.C1Zip.CompressionLevelEnum.DefaultCompression。该压缩级别的枚举类型如下:
// 摘要:
// Specifies the level of compression to be applied when adding entries to a
// C1.C1Zip.C1ZipFile.
public enum CompressionLevelEnum
{
// 摘要:
// High compression, high speed.
DefaultCompression = -1,
//
// 摘要:
// No Compression.
NoCompression = 0,
//
// 摘要:
// Low compression, highest speed.
BestSpeed = 1,
//
// 摘要:
// Highest compression, low speed.
BestCompression = 9,
}
删除文件:使用C1ZipFile.Entries.Remove方法从当前打开的Zip文件中删除某个条目。
扩展文件:使用C1ZipFile.Entries.Extract方法从当前打开的Zip文件中扩展文件。
文件注释:使用C1ZipFile.Comment属性获取或设置Zip文件中相关文件的注释。
密码保护:C1ZipFile.Password属性可以设置和获取密码,用于Zip文件添加和恢复文件条目。
运行本文附件的Demo,打开一个Zip文件,所有条目将如下所示,然后就可以用菜单进行添加、修改、删除等操作。
本文Demo源代码如下:
ComponentOne Enterprise | 下载试用
ComponentOne 是一套专注于企业 .NET开发、支持 .NET Core 平台,并完美集成于 Visual Studio 的第三方控件集,包含 300 多种 .NET开发控件,提供表格数据管理、数据可视化、报表和文档、日程安排、输入和编辑、导航和布局、系统提升工具等七大功能,被誉为“.NET开发的‘瑞士军刀’”。
ComponentOne 为您提供专业的产品咨询服务,并由技术支持工程师为您1对1解答。>> 发帖提问
葡萄城热门产品


