ICANN认证国际域名顶级注册机构
网站建设,域名注册,空间租用,软件销售,广告设计 域名注册,空间租用, 网站建设,东莞网页设计,域名注册,网站推广,网站开发,网页设计 网站推广,,百度推广,新浪推广,雅虎推广,网易推广 标志设计,画册设计,包装设计,VI策划,企业形象顾问 连邦软件加盟店,提供销遥行,管家婆,速达,用友ERP,诺顿等软件报价及销售 建站必读 腾达网络,上网帮助中心, 腾达为东莞等地,提供网站建设,网站推广,广告设计,软件销售等优质服务!
建站必读


 
 
当前位置:首页 -> 建站必读 -> .NET技术
把握VB.NET中的流(Stream) (三) Montaque(翻译)
把握VB.NET中的流(Stream) (三)



文件操作具体实例



在这一部分,你将找到更多常用的文件操作的代码实例。最常用、最基本的操作就是把text写入文件和读回来。现在的应用程序通常不用二进制文件作存储简单的变量,而用它来存储对象,对象集合以及其他机器代码。下面,将看到具体操作的例子。



读写文本文件



为了把text保存到文件,创建一个基于FileStream的StreamReader对象,然后调用Write方法把需要保存的text写入文件。下面的代码用SaveFileDialog提示用户指定一个文件,用于保存TextBox1的内容。



   SaveFileDialog1.Filter = _



      "Text Files|*.txt|All Files|*.*"



   SaveFileDialog1.FilterIndex = 0



   If SaveFileDialog1.ShowDialog = DialogResult.OK Then



       Dim FS As FileStream = SaveFileDialog1.OpenFile



       Dim SW As New StreamWriter(FS)



       SW.Write(TextBox1.Text)



       SW.Close()



       FS.Close()



   End If



同样采用类似的语句,我们读取一个文本文件,并把内容显示在TextBox控件中。StreamReader的ReadToEnd方法返回文件的全部内容。



   OpenFileDialog1.Filter = _



      "Text Files|*.txt|All Files|*.*"



   OpenFileDialog1.FilterIndex = 0



   If OpenFileDialog1.ShowDialog = DialogResult.OK Then



       Dim FS As FileStream



       FS = OpenFileDialog1.OpenFile



       Dim SR As New StreamReader(FS)



       TextBox1.Text = SR.ReadToEnd



       SR.Close()



       FS.Close()



   End If



各种对象的存储



采用BinaryFormatte以二进制的形式,或者用SoapFormatter类以XML格式都可以序列化一个具体的对象。只要把所有BinaryFormatter的引用改为SoapFormatter,无需改变任何代码,就可以以XML格式序列化对象。



首先创建一个BinaryFormatter实例:



   Dim BinFormatter As New Binary.BinaryFormatter()



然后创建一个用于存储序列化对象的FileStream对象:



   Dim FS As New System.IO.FileStream("c: est.txt", IO.FileMode.Create)



接着调用BinFormatter的Serialize方法序列化任何可以序列化的framework对象:



   R = New Rectangle(rnd.Next(0, 100),rnd.Next(0, 300), _



         rnd.Next(10, 40),rnd.Next(1, 9))



   BinFormatter.Serialize(FS, R)



加一个Serializable属性使得自定义的对象可以序列化



    <Serializable()> Public Structure Person



       Dim Name As String



       Dim Age As Integer



       Dim Income As Decimal



   End Structure



下面代码创建一个Person对象实例,然后调用BinFormatter的Serialize方法序列化自定义对象:



   P = New Person()



   P.Name = "Joe Doe"



   P.Age = 35



   P.Income = 28500



   BinFormatter.Serialize(FS, P)



你也可以在同一个Stream中接着序列化其他对象,然后以同样的顺序读回。例如,在序列化Person对象之后接着序列化一个Rectangle对象:



   BinFormatter.Serialize(FS, New Rectangle(0, 0, 100, 200))



     创建一个BinaryFormatter对象,调用其Deserialize方法,然后把返回的值转化为正确的类型,就是整个反序列化过程。然后接着发序列化Stream的其他对象。



假定已经序列化了Person和Rectangle两个对象,以同样的顺序,我们反序
 
 
本站关键词:
|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|网站开发|东莞域名空间|东莞广告公司|东莞广告设计|网站建设东莞|东莞网站制作||东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|网站开发|东莞域名空间|东莞广告公司|东莞广告设计|网站建设东莞|东莞网站制作||东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|网站开发|东莞域名空间|东莞广告公司|东莞广告设计|网站建设东莞|东莞网站制作||东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|网站开发|东莞域名空间|东莞广告公司|东莞广告设计|网站建设东莞|东莞网站制作||东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|网站开发|东莞域名空间|东莞广告公司|东莞广告设计|网站建设东莞|东莞网站制作||东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|网站开发|东莞域名空间|东莞广告公司|东莞广告设计|网站建设东莞|东莞网站制作||东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|网站开发|东莞域名空间|东莞广告公司|东莞广告设计|网站建设东莞|东莞网站制作||东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|网站开发|东莞域名空间|东莞广告公司|东莞广告设计|网站建设东莞|东莞网站制作||东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|网站开发|东莞域名空间|东莞广告公司|东莞广告设计|网站建设东莞|东莞网站制作||东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|网站开发|东莞域名空间|东莞广告公司|东莞广告设计|网站建设东莞|东莞网站制作||东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|网站开发|东莞域名空间|东莞广告公司|东莞广告设计|网站建设东莞|东莞网站制作||东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|网站开发|东莞域名空间|东莞广告公司|东莞广告设计|网站建设东莞|东莞网站制作||东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|网站开发|东莞域名空间|东莞广告公司|东莞广告设计|网站建设东莞|东莞网站制作||东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|网站开发|东莞域名空间|东莞广告公司|东莞广告设计|网站建设东莞|东莞网站制作|
域名注册 | 虚拟主机 | 网站建设 | 网站推广 | 广告设计 | 帮助中心 | 软件中心 | 关于腾达
东莞市腾达信息工程有限公司      本站网络实名: 东莞网站建设
地址:东莞市新城市中心区第一国际B座610   邮编:523007
电话:0769-22026071 22026072 传真:0769-22026076 24小时服务热线:13712032014
© 2002~2005 腾达网络   版权所有