我的.zip存档只包含一个文件 - 一个文本文件。在我的WinForm
中,我想打开.zip文件,点击现有的文本文件。
应显示文本文件ListView
,这是我现在的代码:
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "archieve files (*.zip)|*.zip";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string filename = openFileDialog1.FileName;
textBox1.Text = filename;
}
//
}
答案 0 :(得分:1)
正如评论中已经提到的,您可以使用库。
.NET已经有一个用于处理集成到.NET框架中的名为System.IO.Compression.ZipFile
的压缩zip存档。请参阅MSDN。
使用此命令通过ZipFile.OpenRead和ZipFile.Entries属性打开.zip文件(只读),以获取存档中的文件信息列表。
Entries
是collection
ZipFile.ZipArchiveEntry,其中包含一些您可以访问的公共属性。即我们需要的是:
完整的示例代码:
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
if (entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase))
{
ListViewItem txtItem = new ListViewItem(entry.FullName);
txtItem .SubItems.Add(entry.LastWriteTime);
txtItem .SubItems.Add(entry.Length); //Uncompressed size
listView.Items.Add(txtItem);
}
}
}
将此信息放入您的Button_Click
活动中,您就可以了。