DotNetZipライブラリを使用して簡単なテストをまとめました。このライブラリは.bmpファイルでいっぱいのzipファイルを開き、それらを.jpg形式に変換します。
これ以前は、すべてのファイルをフォルダーに書き込み、変換し、jpgファイルを保存してから、元のbmpファイルを削除していました。
私は最初にそれらをメモリに解凍し、jpgに変換してから保存するつもりはありません。
コードは機能しますが、それほど速くはありません。コードを改善するために私ができることについて誰かが私に何か指針を教えてもらえますか?また、糸脱毛は役に立ちますか?
string zipToUnpack = "c:\\test\\1000.zip";
string unpackDirectory = "c:\\temp\\";
string f = string.Empty;
Bitmap bm;
MemoryStream ms;
using (ZipFile zip = ZipFile.Read(zipToUnpack))
{
foreach (ZipEntry e in zip)
{
if (e.FileName.ToLower().IndexOf(".bmp") > 0)
{
ms = new MemoryStream();
e.Extract(ms);
try
{
bm = new Bitmap(ms);
f = unpackDirectory + e.FileName.ToLower().Replace(".bmp", ".jpg");
bm.Save(f, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (Exception ex)
{
Console.WriteLine("File: " + e.FileName + " " + ex.ToString());
}
ms.Dispose();
}
}
}
ありがとう