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

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
aimingoo的专栏
aimingoo的专栏
D
Docker
N
Netflix TechBlog - Medium
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
宝玉的分享
宝玉的分享
美团技术团队
P
Proofpoint News Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Stack Overflow Blog
Stack Overflow Blog
The Cloudflare Blog
G
Google Developers Blog
腾讯CDC
Help Net Security
Help Net Security
Google DeepMind News
Google DeepMind News
Security Archives - TechRepublic
Security Archives - TechRepublic
Apple Machine Learning Research
Apple Machine Learning Research
L
LINUX DO - 最新话题
O
OpenAI News
博客园 - 司徒正美
Google Online Security Blog
Google Online Security Blog
H
Hacker News: Front Page
博客园 - 聂微东
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Project Zero
Project Zero
Vercel News
Vercel News
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
Check Point Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
A
Arctic Wolf
Microsoft Security Blog
Microsoft Security Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Forbes - Security
Forbes - Security
www.infosecurity-magazine.com
www.infosecurity-magazine.com
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
S
Security @ Cisco Blogs
T
Tor Project blog
D
DataBreaches.Net
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Spread Privacy
Spread Privacy
W
WeLiveSecurity
V2EX - 技术
V2EX - 技术
Simon Willison's Weblog
Simon Willison's Weblog
AI
AI
Security Latest
Security Latest
S
Securelist

博客园 - 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