私は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