DotNetZip - 读取内存
我使用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();
}
}
}
谢谢
没有找到相关结果
已邀请:
1 个回复
徘廷