怎么对VB.NET流进行正确操作

这篇文章将为大家详细讲解有关怎么对VB.NET流进行正确操作,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联公司专注骨干网络服务器租用10年,服务更有保障!服务器租用,成都移动机房托管 成都服务器租用,成都服务器托管,骨干网络带宽,享受低延迟,高速访问。灵活、实现低成本的共享或公网数据中心高速带宽的专属高性能服务器。

“流”是字节序列的抽象概念,或者说是计算机在处理文件或数据时产生的二进制序列。下面我们将通过这个简单的例子来学习使用VB.NET流类实现对文件的操作。

在学习这个简单的例子前我们有必要对VB.NET流进行一个简单的介绍。

大家都知道“流”的英文是“Stream”,所以在VB.NET中也就是直接用的Stream来表示流类。Stream是所有流的抽象基类。一般来说是不会直接使用Stream 类的,因为它提供的功能并不强大。通常的方法是使用它的派生类(有些书称为子代类),这些派生类中使用的最多的是文件流类,对于文件流来说它大致包含了文件的建立,文件夹的建立,文件的转移,文件的读写这4中功能,在下面的内容中我们将学会如何实现这4中功能。

在文件流类中最重要的是Read 和 Write 方法,这两个方法是完成文件读写所必须的。在完成对文件的读写访问后一定要记得调用 Close将流关闭,否则将会出现当从其他程序访问此文件时系统将提示文件无法访问之类的错误信息。

通过上面的简单介绍,我们已经大致对流有了一个简单的了解。下面我们就来学习这4个编程例子。

这个例子分别是:通过VB.NET流实现本地计算机中的文件转移,通过流实现计算机中文件的网络转移或称为网络文件传输,读写文本文件,读写二进制文件。

示例一 本地文件转移

本示例将任意文件进行流化处理后,在指定的位置产生一个相同文件的副本,即实现文件的拷贝功能。

  1. Private Sub Button1_Click(ByVal 
    sender As System.Object, ByVal 
    e As System.EventArgs)  

  2. Handles Button1.Click  

  3. FileStreamL()‘实现文件的拷贝功能  

  4. End Sub   

  5. Sub FileStreamL()  

  6. Dim fileinf As New System.IO.
    FileInfo("c:\dd.doc")  

  7. ‘实例化FileInfo类  

  8. Dim byt(fileinf.Length() - 1) 
    As Byte  

  9. ‘获得原始文件的大小  

  10. Dim files As New System.IO.
    FileStream("c:\dd.doc", IO.
    FileMode.Open,  

  11. IO.FileAccess.ReadWrite)  

  12. ‘实例化FileStream类  

  13. Dim filesw As New System.IO.
    FileStream("c:\kp.doc",IO.
    FileMode.OpenOrCreate)  

  14. ‘实例化FileStream类,
    并建立一个空的新文件  

  15. files.Read(byt, 0, byt.Length)  

  16. ‘读原文件内容到byt数组中  

  17. filesw.Write(byt, 0, byt.Length)  

  18. ‘将byt数组的内容写到新文件中  

  19. files.Close()‘关闭流  

  20. filesw.Close()‘关闭流  

  21. End Sub  

程序说明:在这段代码中我们创建了一个FileStreamL过程,在这个过程中首先声明FileInfo类利用此类获的原始文件的大小然后在通过声明两个FileStream类,***个是用来对原始文件进行流读操作,即将其数据读入内存,并保存在Byt数组中。第二个FileStream类是用来将保存在Byt数组中的数据写入到指定的新文件中,本代码的原始文件是C盘中的dd.doc文件,新文件是C盘中的“kp.doc”文件。

本代码括号中的参数在MSDN中都有详细的解释,这里就不在讨论了。

关于“怎么对VB.NET流进行正确操作”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


分享名称:怎么对VB.NET流进行正确操作
转载来于:http://csdahua.cn/article/iepccj.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流