2016-03-14 227 views
0

我試圖將zip文件的內容寫入文本文件。 我的代碼現在只寫入第一個文件。 (這是使用SharpZipLib將zip內容寫入文本文件

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

您正在使用'FileMode.OpenOrCreate',使用'FileMode.Append' –

回答

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();