如何:在 Visual Basic 中读取文本文件
通过 ReadAllText 对象的 My.Computer.FileSystem
方法,可以读取文本文件。 如果文件的内容使用类似 ASCII 或 UTF-8 的编码,则可以指定文件编码。
若要读取包含扩展字符的文件,则需要指定文件编码。
注意
若要以一次读取一行文本的方式读取文件,请使用 OpenTextFileReader 对象的 My.Computer.FileSystem
方法。 OpenTextFileReader
方法将返回 StreamReader 对象。 可以使用 ReadLine 对象的 StreamReader
方法以一次读取一行的方式读取文件。 可以使用 EndOfStream 对象的 StreamReader
方法测试文件的结尾。
读取文本文件
使用 ReadAllText
对象的 My.Computer.FileSystem
方法并提供路径,可以将文本文件的内容读入字符串中。 下面的示例将 test.txt 的内容读入字符串中,然后在消息框中显示内容。
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt")
MsgBox(fileReader)
读取已编码的文本文件
使用 ReadAllText
对象的 My.Computer.FileSystem
方法并提供路径和文件编码类型,可以将文本文件的内容读入字符串中。 下面的示例将 UTF32 文件 test.txt 的内容读入字符串中,然后在消息框中显示内容。
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt",
System.Text.Encoding.UTF32)
MsgBox(fileReader)
可靠编程
以下情况可能会导致异常:
路径由于以下原因之一而无效:它是零长度字符串;它仅包含空白;它包含无效字符;或者它是一个设备路径 (ArgumentException)。
路径无效,因为它是
Nothing
(ArgumentNullException)。该文件不存在 (FileNotFoundException)。
文件正由另一个进程使用,或者出现 I/O 错误 (IOException)。
路径超过了系统定义的最大长度 (PathTooLongException)。
路径中的文件名或目录名包含冒号 (:),或格式无效 (NotSupportedException)。
内存不足,无法将字符串写入缓冲区 (OutOfMemoryException)。
该用户缺少查看该路径所必需的权限 (SecurityException)。
不要根据文件的名称来判断文件的内容。 例如,文件 Form1.vb 可能不是 Visual Basic 源文件。
在应用程序中使用输入的数据之前,需验证所有的输入内容。 文件的内容可能不是预期内容,并且用来读取该文件的方法可能失败。