大家可能都知道Visual Basic 语言,因为它的应用范围非常广泛。那么VB.NET语言又是什么样的一种语言呢?其实它是Visual Basic 语言的演化,并且VB.NET的预言特点比较突出,极大的吸引了开发人员的眼球。#t#
“流”是字节序列的抽象概念,或者说是计算机在处理文件或数据时产生的二进制序列。下面我们将通过这个简单的例子来学习使用VB.NET流类实现对文件的操作。
在学习这个简单的例子前我们有必要对VB.NET流进行一个简单的介绍。
大家都知道“流”的英文是“Stream”,所以在VB.NET中也就是直接用的Stream来表示流类。Stream是所有流的抽象基类。一般来说是不会直接使用Stream 类的,因为它提供的功能并不强大。通常的方法是使用它的派生类(有些书称为子代类),这些派生类中使用的最多的是文件流类,对于文件流来说它大致包含了文件的建立,文件夹的建立,文件的转移,文件的读写这4中功能,在下面的内容中我们将学会如何实现这4中功能。
在文件流类中最重要的是Read 和 Write 方法,这两个方法是完成文件读写所必须的。在完成对文件的读写访问后一定要记得调用 Close将流关闭,否则将会出现当从其他程序访问此文件时系统将提示文件无法访问之类的错误信息。
通过上面的简单介绍,我们已经大致对流有了一个简单的了解。下面我们就来学习这4个编程例子。
这个例子分别是:通过VB.NET流实现本地计算机中的文件转移,通过流实现计算机中文件的网络转移或称为网络文件传输,读写文本文件,读写二进制文件。
示例一 本地文件转移
本示例将任意文件进行流化处理后,在指定的位置产生一个相同文件的副本,即实现文件的拷贝功能。
- Private Sub Button1_Click(ByVal
sender As System.Object, ByVal
e As System.EventArgs)- Handles Button1.Click
- FileStreamL()‘实现文件的拷贝功能
- End Sub
- Sub FileStreamL()
- Dim fileinf As New System.IO.
FileInfo("c:\dd.doc")- ‘实例化FileInfo类
- Dim byt(fileinf.Length() - 1)
As Byte- ‘获得原始文件的大小
- Dim files As New System.IO.
FileStream("c:\dd.doc", IO.
FileMode.Open,- IO.FileAccess.ReadWrite)
- ‘实例化FileStream类
- Dim filesw As New System.IO.
FileStream("c:\kp.doc",IO.
FileMode.OpenOrCreate)- ‘实例化FileStream类,
并建立一个空的新文件- files.Read(byt, 0, byt.Length)
- ‘读原文件内容到byt数组中
- filesw.Write(byt, 0, byt.Length)
- ‘将byt数组的内容写到新文件中
- files.Close()‘关闭流
- filesw.Close()‘关闭流
- End Sub
程序说明:在这段代码中我们创建了一个FileStreamL过程,在这个过程中首先声明FileInfo类利用此类获的原始文件的大小然后在通过声明两个FileStream类,***个是用来对原始文件进行流读操作,即将其数据读入内存,并保存在Byt数组中。第二个FileStream类是用来将保存在Byt数组中的数据写入到指定的新文件中,本代码的原始文件是C盘中的dd.doc文件,新文件是C盘中的“kp.doc”文件。
本代码括号中的参数在MSDN中都有详细的解释,这里就不在讨论了。
总结:本文通过以上例子讲解了VB.NET流对象的编程基础。其实对于流对象来说,它的使用都是和文件相结合的。比如本文的例子中每一个流对象的建立都是和文件相关的,如果在你编写有关流对象的代码时发现语句中没有与文件相关的语句,那吗这些语句多数情况下是错误或不完整的。