I'm trying to write the contents of a zip file to a text file. My code right now only writes the first file. (This is using 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();
}
You are creating a new file each time you process a zip file entry, open the file outside the while loop and close it after the loop, like so:
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();