Практическое руководство. Чтение из текстовых файлов в 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.

Следует проверять все входные данные перед использованием их в приложении. Содержимое файла может отличаться от ожидаемого, поэтому может не удаться прочесть файл с помощью методов чтения.

См. также