[GZipStream、Serialize相关]压缩解压缩DataSet问题

Radar2006 2006-12-14 04:31:22
不使用GZipStream,只使用SerializationFormat.Binary时能通过,
使用GZipStream时在解压缩时总是出错,哪位高人帮看一下,代码如下:

压缩:
public static byte[] CompressDataSet(DataSet data)
{
try
{
BinaryFormatter ser = new BinaryFormatter();
MemoryStream unCompressMS = new MemoryStream();
data.RemotingFormat = SerializationFormat.Binary;
ser.Serialize(unCompressMS, data);

MemoryStream compressMs = new MemoryStream();
GZipStream compressedStream = new GZipStream(compressMs, CompressionMode.Compress, true);
compressedStream.Write(unCompressMS.ToArray(), 0, unCompressMS.ToArray().Length);

return compressMs.ToArray();
}
catch (ApplicationException ex)
{
return null;
}
}

解压缩:
public static DataSet DecompressDataSet(byte[] data)
{
try
{
MemoryStream unCompressMS = new MemoryStream();
MemoryStream compressMS = new MemoryStream(data);
Stream decompressedStream = new GZipStream(compressMS, CompressionMode.Decompress, true);

BinaryFormatter ser = new BinaryFormatter();
return (DataSet)ser.Deserialize(decompressedStream);
}
catch (ApplicationException ex)
{
return null;
}
}

谢谢~ 紧急~
...全文
296 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
newsealiutao 2006-12-26
  • 打赏
  • 举报
回复
你好,可以加我qq吗? 275222920 我想讨论一下gzip的问题^_^
Radar2006 2006-12-14
  • 打赏
  • 举报
回复
惭愧啊,就是这个问题,我说怎么压出来的都不完整啊
谢谢 Jointan 兄弟

太不细心了,呵呵,面壁...
jointan 2006-12-14
  • 打赏
  • 举报
回复
compressedStream.Write(unCompressMS.ToArray(), 0, unCompressMS.ToArray().Length);

compressedStream.Close();//你缺这句

return compressMs.ToArray();
Radar2006 2006-12-14
  • 打赏
  • 举报
回复
看了,不知所云~

奇怪,用FileStream又可以了,用MemoryStream不行
zhaochong12 2006-12-14
  • 打赏
  • 举报
回复
是个BUG,给出了解决方案. 加油
zhaochong12 2006-12-14
  • 打赏
  • 举报
回复
http://support.microsoft.com/?id=818412
Radar2006 2006-12-14
  • 打赏
  • 举报
回复
晕,标题不够醒目,没人来~
自己顶起~~~~
muyanpeng_mail 2006-12-14
  • 打赏
  • 举报
回复
不懂 进来了 就帮忙顶个
Radar2006 2006-12-14
  • 打赏
  • 举报
回复
解压出错信息:

未处理的“System.Runtime.Serialization.SerializationException”类型的异常出现在 mscorlib.dll 中。

其他信息: 在分析完成之前就遇到流结尾。

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧