C#服务端Webservice压缩dataset,客户端JAVA里字符串解缩用GZIP要怎么实现?

xjy0818 2012-03-19 02:48:09
C#服务端Webservice压缩dataset,客户端JAVA里字符串解缩用GZIP要怎么实现?
/// <summary>
/// 获取数据压缩后的字节码
/// </summary>
public static byte[] Compress(DataSet dt)
{
try
{
// 声明MemoryStream
MemoryStream ms = new MemoryStream();
// 写入DataSet中的数据到ms中
dt.WriteXml(ms, XmlWriteMode.WriteSchema);
// ms转换为数组序列
byte[] bsrc = ms.ToArray();
//关闭ms并释放资源
ms.Close();
ms.Dispose();

ms = new MemoryStream();
ms.Position = 0;
// 压缩数组序列中的数据
GZipStream zipStream = new GZipStream(ms, CompressionMode.Compress, true);
zipStream.Write(bsrc, 0, bsrc.Length);
zipStream.Close();
zipStream.Dispose();
return ms.ToArray();
}
catch
{
return null;
}
}

手机客户端我用java解压Gzip 一直报错呀03-19 14:41:53.280: W/System.err(13739): java.io.IOException: unknown format (magic number 3f3c) GZIPInputStream gzin = new GZIPInputStream(i); 这句话一直报错,难道解压不了么
以下是我的客户端代码
//建立字节数组输入流
ByteArrayInputStream i = new ByteArrayInputStream(buf);
//建立gzip解压输入流
GZIPInputStream gzin = new GZIPInputStream(i);
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[256];
int n;
while ((n = gzin.read(buffer)) >= 0) {
out.write(buffer, 0, n);
}
String txt = out.toString("utf-8");
SAXParser xmlParser = SAXParserFactory.newInstance().newSAXParser();
xmlParser.parse(txt, mXmlHandler);
Logger.log("txt = " + txt);
return retProperties;
...全文
337 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
charles_y 2013-08-01
  • 打赏
  • 举报
回复
不懂,难道现在java也认识dataset了?
msy6025965 2013-08-01
  • 打赏
  • 举报
回复
怎么样了 现在解压成功了吗
王金龙_GILANG 2012-12-08
  • 打赏
  • 举报
回复
同问同问---------急急急

111,126

社区成员

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

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

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