【问题标题】:Writing zip contents to a text file [closed]将zip内容写入文本文件[关闭]
【发布时间】:2016-03-14 02:17:06
【问题描述】:

我正在尝试将 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();
}

【问题讨论】:

  • 你使用FileMode.OpenOrCreate,使用FileMode.Append

标签: c# sharpziplib


【解决方案1】:

每次处理 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();

【讨论】:

    猜你喜欢
    • 2015-08-05
    • 2014-04-30
    • 1970-01-01
    • 2014-02-28
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    相关资源
    最近更新 更多