ПОНЯТНО О Visual Basic NET (том 3)


Чтение из знакомого текстового файла - часть 2


Следующие 3 оператора процедуры считывают из файла 3 строки и присваивают их значения соответствующим переменным. Чтение осуществляется методом ReadLine объекта Запись. Этот метод просто считывает целиком очередную строку файла, что бы в ней ни было записано.

После завершения чтения из файла его нужно закрыть методом Close.

Вот что распечатает эта процедура, если файл был заполнен, как в предыдущей задаче:

Азия!

4,27

21:30:00

Преобразования типов при чтении из текстового файла. При чтении из текстового файла метод ReadLine рассматривает каждую строку файла как цепочку символов, то есть просто как обыкновенную строку (тип String), а при присваивании данной строки переменной величине VB пытается преобразовать ее к типу этой переменной. Так, при выполнении оператора

        Дата = Чтение.ReadLine

VB пытается преобразовать строку

29.03.2005 21:30:00

к типу DateTime. Поскольку эта строка файла представляет правильную запись даты, присваивание проходит успешно.

Если бы мы вместо

        Dim Число As Double

написали бы

        Dim Число As Integer

VB попытался бы преобразовать строку 5,27 в целое число, у него бы это получилось и мы бы увидели такую распечатку:

Азия!

4

21:30:00

В случае неудачи преобразования VB выдает ошибку.

Считывается информация из текстового файла строго по порядку, сверху вниз. Мы не можем прочитать что-то сперва в начале файла, потом в конце, потом в середине. Поэтому к катастрофе приведет ситуация, когда в процедуре мы вот так перепутаем местами операторы:

       Дата = Чтение.ReadLine

       Число = Чтение.ReadLine

Верхний из них попытается преобразовать 5,27 к типу DateTime и потерпит неудачу. VB выдаст ошибку.

Лишняя работа. Из-за последовательного характера записи и чтения при работе с текстовым файлом, компьютеру приходится выполнять лишнюю работу. Так, если нас в текстовом файле интересует, скажем, только 3-я строка, нам, чтобы до нее добраться, все равно придется прочесть и 1-ю и 2-ю строки. Если мы в текстовом файле из большого количества строк хотим исправить только одну, нам придется вновь записать все строки файла, так как перед записью вся информация из файла стирается.




- Начало -  - Назад -  - Вперед -