惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
N
Netflix TechBlog - Medium
大猫的无限游戏
大猫的无限游戏
Cyberwarzone
Cyberwarzone
T
Troy Hunt's Blog
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
U
Unit 42
Last Week in AI
Last Week in AI
云风的 BLOG
云风的 BLOG
F
Full Disclosure
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google DeepMind News
Google DeepMind News
Hacker News - Newest:
Hacker News - Newest: "LLM"
IT之家
IT之家
Google Online Security Blog
Google Online Security Blog
Cloudbric
Cloudbric
月光博客
月光博客
Hacker News: Ask HN
Hacker News: Ask HN
罗磊的独立博客
N
News and Events Feed by Topic
S
Secure Thoughts
The Last Watchdog
The Last Watchdog
Google DeepMind News
Google DeepMind News
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
I
InfoQ
Hugging Face - Blog
Hugging Face - Blog
I
Intezer
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - 聂微东
P
Privacy International News Feed
有赞技术团队
有赞技术团队
博客园_首页
F
Fortinet All Blogs
Recent Announcements
Recent Announcements
O
OpenAI News
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tor Project blog
B
Blog
量子位
T
Threatpost
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
CXSECURITY Database RSS Feed - CXSecurity.com
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Vulnerabilities – Threatpost
酷 壳 – CoolShell
酷 壳 – CoolShell
S
SegmentFault 最新的问题
L
LangChain Blog

博客园 - MasterCai

&lt;&lt;XtraGrid Use Tips&gt;&gt; (2) &lt;&lt;XtraGrid Use Tips&gt;&gt; (1) &lt;&lt;SOA系列&gt;&gt;--(1)-SOA Tips 《醒了自悟》--离别感言 2007年度家庭IT风云人物 R&D 给你一个抽象的任务,要你具体地完成 没有蠢问题(1):1个按钮,1张图...100个按钮,100张...,Www我和你拼了! <<读书笔记>>系列--《理解专业程序员》tips - MasterCai - 博客园 &lt;&lt;读书笔记&gt;&gt;系列--《VB2005-菜根谭》注释版 &lt;&lt;读书笔记&gt;&gt;系列--VB2005-菜根谭 Throw和Throw XX &lt;&lt;醒了自悟&gt;&gt;系列--Go On... OR Stop... 压缩传输,数据源源不断,助数据远行高飞 - compress dataset with .net 1.1 &lt;&lt;醒了自悟&gt;&gt;系列--微软好员工的十个标准(From Microsoft.com) &lt;&lt;读书笔记&gt;&gt;系列--微软研发75条心得 <<醒了自悟>>系列-bozo---虫不知---Don't know what you don't know - MasterCai &lt;&lt;醒了自悟&gt;&gt;系列--西游记歌词行诗--程序员生活写照??? 用户体验珠玑 &lt;&lt;醒了自悟&gt;&gt;系列--千年老妖---1000后的重生---重新脚踏实地
Compress DataSet with .net 2.0
MasterCai · 2006-11-01 · via 博客园 - MasterCai

NET Framework 2.0 版中新增GZipStream 类,对了就是它了!
啥也不说了,咣咣的,别整那些没用的,代码说明一切!

 

 1 ''' <summary>
 2     ''' 
 3     ''' </summary>
 4     ''' <param name="data"></param>
 5     ''' <returns></returns>
 6     ''' <remarks></remarks>
 7     Public Shared Function CompressDataSet(ByVal data As DataSet) As Byte()
 8 
 9 
10         Try
11 
12             Dim bf As New BinaryFormatter
13             Using ms As MemoryStream = New MemoryStream
14 
15                 bf.Serialize(ms, data)
16                 Dim b() As Byte = ms.GetBuffer()
17 
18                 Dim output As New MemoryStream
19                 Dim gzip As New GZipStream(output, CompressionMode.Compress, True)
20 
21                 gzip.Write(b, 0, b.Length)
22                 gzip.Close()
23 
24                 Return output.ToArray
25 
26 
27             End Using
28 
29 
30 
31         Catch ex As ApplicationException
32             MessageBox.Show(ex.Message, "An Error occured during compression", MessageBoxButtons.OK, MessageBoxIcon.Error)
33         Finally
34 
35         End Try
36 
37     End Function
38 
39     ''' <summary>
40     ''' 
41     ''' </summary>
42     ''' <param name="data"></param>
43     ''' <returns></returns>
44     ''' <remarks></remarks>
45     Public Shared Function DecompressDataSet(ByVal data As Byte()) As DataSet
46 
47 
48         Try
49 
50             Dim input As New MemoryStream
51             input.Write(data, 0, data.Length)
52             input.Position = 0
53             Dim gzip As New GZipStream(input0True)
54             Dim output As New MemoryStream
55             Dim buff As Byte() = New Byte(4096) {}
56             Dim read As Integer = -1
57             read = gzip.Read(buff, 0, buff.Length)
58             Do While (read > 0)
59                 output.Write(buff, 0, read)
60                 read = gzip.Read(buff, 0, buff.Length)
61             Loop
62             gzip.Close()
63             Dim result() As Byte = output.ToArray
64 
65 
66             Dim bf As New BinaryFormatter
67             Using ms As MemoryStream = New MemoryStream(result)
68                 Return DirectCast(bf.Deserialize(ms), DataSet)
69             End Using
70 
71 
72         Catch ex As ApplicationException
73             MessageBox.Show(ex.Message, "An Error occured during decompression", MessageBoxButtons.OK, MessageBoxIcon.Error)
74         Finally
75 
76         End Try
77 
78     End Function


Sample