如何:在 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 中读取具有多种格式的文本文件