新手关于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:主要用来枚举指定目录的子文件夹 。
Preserve:主要用来避免重定义数组而不损失数组元素的原有数据 。
推荐阅读
- 工厂直播背景素材视频,工厂直播背景素材视频下载
- h5css显示动画效果,h5炫酷动画效果
- sap公司组织架构,sap的架构
- 阿里云搭建云服务器,阿里云服务器怎么搭建服务器环境
- mysql大数据怎么解决 mysql大数据量怎么设计表
- python运行爬虫代码,python爬虫简单代码
- 无人直播涉嫌违法吗,无人直播有风险吗?
- mysql笔记怎么写 24排量能跑多快
- 拍摄里遮罩是什么,拍摄里遮罩是什么意思