Практическое руководство. Чтение из текстовых файлов в 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
, указав путь и тип кодировки файла. В следующем примере содержимое файла test.txt в кодировке UTF32 считывается в строку и затем отображается в окне сообщения.
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt",
System.Text.Encoding.UTF32)
MsgBox(fileReader)
Отказоустойчивость
При следующих условиях возможно возникновение исключения:
Путь является недопустимым, поскольку путь представляет собой строку нулевой длины (пустую строку), либо содержит только пробелы, либо содержит недопустимые знаки, либо представляет собой путь к устройству (ArgumentException).
Путь не является допустимым, поскольку он равен
Nothing
(ArgumentNullException).Файл не существует (FileNotFoundException).
Файл уже используется другим процессом или возникла ошибка ввода-вывода (IOException).
Длина пути превышает максимальную длину, определенную в системе (PathTooLongException).
Имя файла или каталога в пути содержит двоеточие (:) или имеет недопустимый формат (NotSupportedException).
Не хватает памяти для записи строки в буфер (OutOfMemoryException).
У пользователя отсутствуют необходимые разрешения на просмотр пути (SecurityException).
По имени файла не всегда можно с уверенностью судить о его содержимом. Например, файл с именем Form1.vb может вовсе не быть исходным файлом Visual Basic.
Следует проверять все входные данные перед использованием их в приложении. Содержимое файла может отличаться от ожидаемого, поэтому может не удаться прочесть файл с помощью методов чтения.
См. также
- FileSystem
- ReadAllText
- Чтение из файлов
- Практическое руководство. Чтение из текстовых файлов с разделителями-запятыми
- Практическое руководство. Чтение из текстовых файлов с полями фиксированного размера
- Практическое руководство. Чтение из текстовых файлов различных форматов
- Исправление неполадок, связанных с чтением из текстовых файлов и записью в такие файлы
- Пошаговое руководство. Операции с файлами и каталогами в Visual Basic
- Кодировки файлов