vb.net驱动器 vb驱动器列表框控件名词解释

新手关于VB.net的问题您好 , 在Visual Basic.NET中,是没有像这样的文件I/O操作的,一般都是通过System.IO.StreamReader和System.IO.StreamWriter类,System.IO.BinaryReader和System.IO.BinaryWriter类来读写文件以及利用My.Computer.FileSystem类读写文件,利用System.IO.Filestream类来创建文件,通过引用Microsoft Scripting Runtime来执行文件(夹)和驱动器的特殊操作,常用的是System.IO.StreamReader和System.IO.StreamWriter类 。
例如说要读取一个文件 , 我们可以利用System.IO.StreamReader类编写一个方法(也就是函数),但是首先要在当前类的开头添加一个引用 , 引用名称:System.IO,添加引用的代码如下
Imports System.IO
添加引用之后,就在当前类的内部创建方法:
Private Function ReadFile(ByVal FileURL As String) As String
Dim sr As StreamReader = New StreamReader(FileURL)
ReadFile = sr.ReadToEnd()
sr.Close()
sr = Nothing
End Function
示例说明:
该方法是一个返回String(字符串)数据的函数 , FileURL作为参数是用来存放需要访问的文件的URL,当然,要获取一个文件的URL , 就是利用这一句代码实现的:
Dim sr As StreamReader = New StreamReader(FileURL)
当获取了URL之后,就要对文件进行读取操作了,然后将读取的结果返回给方法:
ReadFile = sr.ReadToEnd()
读取文件完毕之后,要对文件执行关闭操作:
sr.Close()
当然别忘了清理资源:
sr = Nothing
StreamReader类可以从流或文件中读取字符,在创建StreamREader类的对象时 , 可以指定一个流对象,也可以指定一个文件URL , 创建对象后就可以调用他的方法,从流中读取数据,其常用方法如下:
Peek:返回下一个可用字符 , 但不使用它 。
Read:读取输入流中下一个字符或一组字符并移动流或文件指针 。
ReadBlock:从当前流中读取最大数量字符并从index开始将数据写入buffer 。
ReadLine:从当前流中读取一行字符并将字符作为String返回 。
REadToEnd:从流的当前位置到末尾读取流 。
Close:关闭打开的对象,释放资源 。
注:流 , 一种新的数据格式,这种格式可通过System.IO命名空间下的类访问 。流用Stream类表示,所有的流都是从这个类中继承的 。流向用户提供了一个一般的数据视图,隐藏了操作系统和底层设备的实现细节,所有的流都支持读写操作 。在打开文件时将返回对应的流对象 , 用户可以对流对象进行读写操作 。
如果要对文件执行按行读取操作,这时就会用到枚举,这时候,代码就要更改一下了:
Private Function ReadFile(ByVal FileURL As String) As String
Dim sr As StreamReader = New StreamReader(FileURL)
For Each fLine As String In sr.ReadToEnd()
Line = sr.ReadLine()
ReadFile = ReadFilefLine
Next sr.ReadLine
sr.Close()
End Function
示例说明:
For Each…Next:派生于For…Next循环,用于枚举一系列对象中的成员,而这些对象组成集合,如果集合中至少存在一个元素,程序就会静茹For Each块执行 。其格式如下:
For Each 元素 [As 数据类型] In 元素集合
[循环体]
[Exit For]
[循环体]
Next [元素]
比如:
Dim CountNumber As ULong = 0
Dim FolderName() As String = New String() {" "}
For Each strFolder As String In My.Computer.FileSystem.GetDirectories("C:\")
CountNumber = CountNumber + 1
ReDim Preserve FolderName(1 To CountNumber)
FolderName = strFolder
Next strFolder
注:My.Computer.FileSystem.GetDirectories:主要用来枚举指定目录的子文件夹 。

推荐阅读