我试图将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();
}
答案 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();