Visual Basic 读取和写入文本
StreamReader 和 StreamWriter 类用于从文本文件读取数据和将数据写入文本文件。这些类继承自抽象基类 Stream,抽象基类流支持将字节读写到文件流中。
StreamReader 类
StreamReader 类还继承自抽象基类 TextReader,该类表示用于读取一系列字符的读取器。
下表介绍了 StreamReader 类的一些常用方法:
| 编号 | 方法名称 & 用途 |
|---|---|
| 1 | Public Overrides Sub Close 关闭 StreamReader 对象和底层流,并释放与 StreamReader 关联的所有系统资源。 |
| 2 | Public Overrides Function Peek As Integer 返回下一个可用字符,但不使用它。 |
| 3 | Public Overrides Function Read As Integer 从输入流中读取下一个字符,并将字符位置前进一个字符。 |
实例
下面的实例演示如何读取名为 Jamaica.txt 的文本文件:
Jamaica.txt:
Down the way where the nights are gayAnd the sun shines daily on the mountain topI took a trip on a sailing shipAnd when I reached JamaicaI made a stop
实例
Imports System.IOModule fileProgSub Main()Try' Create an instance of StreamReader to read from a file.' The using statement also closes the StreamReader.Using sr As StreamReader = New StreamReader("e:/jamaica.txt")Dim line As String' Read and display lines from the file until the end of' the file is reached.line = sr.ReadLine()While (line <> Nothing)Console.WriteLine(line)line = sr.ReadLine()End WhileEnd UsingCatch e As Exception' Let the user know what went wrong.Console.WriteLine("The file could not be read:")Console.WriteLine(e.Message)End TryConsole.ReadKey()End SubEnd Module
结果如下:
Down the way where the nights are gayAnd the sun shines daily on the mountain topI took a trip on a sailing shipAnd when I reached JamaicaI made a stop
StreamWriter 类
StreamWriter 类继承自抽象类 TextWriter,它代表写入,可以编写一系列字符。
下表显示了该类最常用的一些方法:
| 编号 | 方法名称 & 用途 |
|---|---|
| 1 | Public Overrides Sub Close 关闭当前 StreamWriter 对象和流。 |
| 2 | Public Overrides Sub Flush 清除当前写入使用的所有缓冲区,并将所有缓冲数据写入流。 |
| 3 | Public Overridable Sub Write (value As Boolean) 将布尔值的文本表示形式写入文本字符串或流。 (继承自 |
| 4 | Public Overrides Sub Write (value As Char) 将字符写进流。 |
| 5 | Public Overridable Sub Write (value As Decimal) 将十进制值的文本表示形式写入文本字符串或流。 |
| 6 | Public Overridable Sub Write (value As Double) 将 8 字节浮点值的文本表示形式写入文本字符串或流。 |
| 7 | Public Overridable Sub Write (value As Integer) 将 4 字节有符号整数的文本表示形式写入文本字符串或流。 |
| 8 | Public Overrides Sub Write (value As String) 将字符串写入流。 |
| 9 | Public Overridable Sub WriteLine 将行终止符写入文本字符串或流。即写完一段文本字符后换行。 |
以上列表并不详尽。更完整的方法列表,请访问 Microsoft 的文档。
实例
以下实例演示如何使用 StreamWriter 类将文本数据写入文件中:
Imports System.IOModule fileProgSub Main()Dim names As String() = New String() {"Zara Ali", _"Nuha Ali", "Amir Sohel", "M Amlan"}Dim s As StringUsing sw As StreamWriter = New StreamWriter("names.txt")For Each s In namessw.WriteLine(s)Next sEnd Using' Read and show each line from the file.Dim line As StringUsing sr As StreamReader = New StreamReader("names.txt")line = sr.ReadLine()While (line <> Nothing)Console.WriteLine(line)line = sr.ReadLine()End WhileEnd UsingConsole.ReadKey()End SubEnd Module
结果如下:
Hakou AliNacy LeeAmir WongMarry Amlan