如何:在 Visual Basic 中读取文本文件
通过 My.Computer.FileSystem 对象的 ReadAllText 方法,可以读取文本文件。 如果文件的内容使用类似 ASCII 或 UTF-8 的编码,则可以指定文件编码。
若要读取包含扩展字符的文件,则需要指定文件编码。
备注
若要以一次读取一行文本的方式读取文件,请使用 My.Computer.FileSystem 对象的 OpenTextFileReader 方法。OpenTextFileReader 方法返回 StreamReader 对象。可以使用 StreamReader 对象的 ReadLine 方法以一次读取一行的方式读取文件。可以使用 StreamReader 对象的 EndOfStream 方法测试文件的结尾。
读取文本文件
使用 My.Computer.FileSystem 对象的 ReadAllText 方法并提供路径,可以将文本文件的内容读入字符串中。 下面的示例将 test.txt 的内容读入字符串中,然后在消息框中显示内容。
Dim fileReader As String fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt") MsgBox(fileReader)
读取已编码的文本文件
使用 My.Computer.FileSytem 对象的 ReadAllText 方法并提供路径和文件编码类型,可以将文本文件的内容读入字符串中。 下面的示例将 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 源文件。
在应用程序中使用输入的数据之前,需验证所有的输入内容。 文件的内容可能不是预期内容,并且用来读取该文件的方法可能失败。
请参见
任务
如何:在 Visual Basic 中读取逗号分隔的文本文件
如何:在 Visual Basic 中读取固定宽度的文本文件
如何:在 Visual Basic 中读取具有多种格式的文本文件