ライブラリを使用ICSharpCode.SharpZipLib.Core
して、C# コードでファイルを圧縮しています。圧縮後、バイト配列が返されます。バイト配列内のファイル数を見つける方法はありますか?
私のコードは次のようになります
string FilePath ="C:\HELLO";
MemoryStream outputMemStream = new MemoryStream();
ZipOutputStream zipStream = new ZipOutputStream(outputMemStream);
foreach (var file in files)
{
FileInfo fi = new FileInfo(string.Concat(FilePath, file));
if (fi.Exists)
{
var entryName = ZipEntry.CleanName(fi.Name);
ZipEntry newEntry = new ZipEntry(entryName);
newEntry.DateTime = DateTime.Now;
newEntry.Size = fi.Length;
zipStream.PutNextEntry(newEntry);
byte[] buffer = new byte[4096];
var fs = File.OpenRead(string.Concat(FilePath, file));
var count = fs.Read(buffer, 0, buffer.Length);
while (count > 0)
{
zipStream.Write(buffer, 0, count);
count = fs.Read(buffer, 0, buffer.Length);
}
}
}
zipStream.Close();
byte[] byteArrayOut = outputMemStream.ToArray();
return byteArrayOut;