将zip内容写入文本文件

时间:2016-03-14 02:17:06

标签: c# sharpziplib

我试图将zip文件的内容写入文本文件。 我的代码现在只写第一个文件。 (这是使用SharpZipLib

ZipInputStream zip = new ZipInputStream(File.OpenRead(AddonFile));
ZipEntry item;

while ((item = zip.GetNextEntry()) != null)
{
    FileStream fs1 = new FileStream(
        @"resource\texts\"+ Path.GetFileName(AddonFile)+".text",
        FileMode.OpenOrCreate, FileAccess.Write);
    StreamWriter writer = new StreamWriter(fs1);
    writer.Write(item.Name);
    writer.Close();
}

1 个答案:

答案 0 :(得分:0)

每次处理zip文件条目时都要创建一个新文件,在while循环之外打开文件并在循环之后关闭它,如下所示:

ZipInputStream zip = new ZipInputStream(File.OpenRead(AddonFile));
ZipEntry item;

FileStream fs1 = new FileStream(
    @"resource\texts\"+ Path.GetFileName(AddonFile)+".text",
    FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter writer = new StreamWriter(fs1);

while ((item = zip.GetNextEntry()) != null)
{
    writer.Write(item.Name);
}
writer.Close();