各位大侠,我在用ICSharpCode.SharpZipLib.dll解压文件时出现解压出来的文件与原文件字节大小不一的情况!
以下是我的解压代码:
public static void ZipToFile(string path, string addres)
{
ZipInputStream s = new ZipInputStream(File.OpenRead(path));
ZipEntry fileEntry;
while ((fileEntry = s.GetNextEntry()) != null)
{
string filename = Path.GetFileName(fileEntry.Name);
if (filename != "")
{
filename = addres + filename;
FileStream streamWriter = File.Create(filename);
int size = 2048;
byte[] buffer = new byte[size]; size = s.Read(buffer, 0, buffer.Length);
streamWriter.Write(buffer, 0, size);
streamWriter.Close();
}
}
s.Close();
} 我原文件大小有3M左右,结果解压出来的文件却只有2K,是不是
int size = 2048;
byte[] buffer = new byte[size];
这里的size=2048的问题哦,我将2048改为204800后,解压后的文件大小变为了96K,但还是不是原文件的大小!
弄了快半个星期了,还是找不出原因,大家帮帮忙吧!!!!!
先谢谢大家了!
以下是我的解压代码:
public static void ZipToFile(string path, string addres)
{
ZipInputStream s = new ZipInputStream(File.OpenRead(path));
ZipEntry fileEntry;
while ((fileEntry = s.GetNextEntry()) != null)
{
string filename = Path.GetFileName(fileEntry.Name);
if (filename != "")
{
filename = addres + filename;
FileStream streamWriter = File.Create(filename);
int size = 2048;
byte[] buffer = new byte[size]; size = s.Read(buffer, 0, buffer.Length);
streamWriter.Write(buffer, 0, size);
streamWriter.Close();
}
}
s.Close();
} 我原文件大小有3M左右,结果解压出来的文件却只有2K,是不是
int size = 2048;
byte[] buffer = new byte[size];
这里的size=2048的问题哦,我将2048改为204800后,解压后的文件大小变为了96K,但还是不是原文件的大小!
弄了快半个星期了,还是找不出原因,大家帮帮忙吧!!!!!
先谢谢大家了!
解决方案 »
- 如何遍历一个datatable,然后手动将修改过的记录中相关字段,更新到后数据库表?
- C#.net连接oracle问题
- 字符串转日期!
- C#连接数据库的问题
- 急!100分求解高难问题:MDI开发,在线程中引用了WebService得到DataSet后赋值给DataGrid,出错!
- Windows窗体 DataGrid用数据绑定时,怎样设置其列宽 ?行高??
- 需要将csv文件读出的数据做成一个临时表
- 哪位仁兄做过windows 服务程序,并正确安装过,给点帮助,急!!!!
- 请问什么是web Service ,它的用途是什么? XML Web Service 又是什么?它们有什么区别?
- 查询引擎错误! 高分求解
- c#处理存储过程
- 如何显示服务器上photo文件夹里的图片
这个,帮你封装了,很简单
可以直接把数据读入内存,不产生临时文件