我正在一個系統,我有一個流(這是可搜索的),我正在閱讀一個ZIP文件,然後我正在寫修改的ZIP文件返回到該流。這樣做會導致文件損壞。這可以用下面的代碼來證明:
DotNetZip - 如何保存回原始流而不創建一個單獨的文件
using System;
using System.Collections.Generic;
using System.Text;
using Ionic.Zip;
using System.Windows.Forms;
using System.IO;
namespace ziptester
{
class Program
{
[STAThread]
static void Main(string[] args)
{
OpenFileDialog mdlg = new OpenFileDialog();
mdlg.ShowDialog();
Stream fstream = File.Open(mdlg.FileName,FileMode.Open,FileAccess.ReadWrite);
ZipFile mfile = ZipFile.Read(fstream);
mfile.UpdateEntry("test.txt", new byte[500]);
fstream.Position = 0;
mfile.SaveProgress += new EventHandler(mfile_SaveProgress);
mfile.Save(fstream);
Console.ReadKey();
}
static void mfile_SaveProgress(object sender, SaveProgressEventArgs e)
{
if (e.EventType == ZipProgressEventType.Saving_Completed)
{
Console.WriteLine("Save completed");
}
}
}
}
爲什麼downvote? – IDWMaster