52953.fb2
objFileSystem.CreateTextFile("C:\Новый файл.txt")
' Открытие существующего файла как _
' текстовый поток
Set objTextStream3 = _
objFileSystem.OpenTextFile("C:\Старыйфайл.txt")
' Запись двух строк текста в один из потоков
objTextStream2.WriteLine _
"Взвейтесь кострами, синие ночи!"
objTextStream2.WriteLine "Мы - пионеры, дети рабочих."
' Закрытие всех трех текстовых потоков
objTextStreaml.Close
objTextstream2.Close
objTextStream3.Close
End Sub
Хотя во всех трех случаях создаются объекты Text Stream, они не взаимозаменяемы. От выбранного в каждом конкретном случае способа зависит и способ доступа к данным в соответствующем файле. Подробнее об этом говорится в следующем разделе.
Каждый конкретный объект Text Stream позволяет либо читать данные из файла, либо записывать данные в файл, либо и то, и другое. Объект Text Stream позволяет выбрать для него один или несколько из трех режимов ввода-вывода. Один из этих режимов только для чтения, и есть два разных режима для записи - обычная запись (когда предполагается запись символов с самого начала текстового потока) и добавление (когда предполагается добавление символов в конец текстового потока).
Доступные для каждого конкретного объекта Text Stream режимы зависят от того, каким способом создан текстовый поток, а в случае метода OpenAsText Stream объекта File - от указанного для него режима. Вот соответствующая сводка.
Метод | Доступные режимы ввода-вывода для определенного объекта текстового потока |
Create Text File (объект FileSystemObject) | Чтение и запись |
Open Text File (объект ileSystemObject ) | Чтение и добавление |
Open As Text Stream (объект File ) | Чтение, запись или добавление (только один из режимов) |
Когда объект Text Stream создается из объекта File, режим ввода-вывода задается как аргумент метода OpenAsText Stream с помощью трех соответствующим образом названных констант: For Reading (для чтения), For Writing (для записи) и ForAppending (для добавления). Например, если нужно добавить текст в конец существующего файла, откройте текстовый поток с помощью следующего оператора:
Set objTS = objFile.OpenAsTextStreamfForAppending)
Открыв объект Text Stream в подходящем режиме доступа, можно начинать работу с содержимым файла. В вашем распоряжении для этого есть несколько простых методов.
Можно читать и записывать данные как отдельные символы или строки. Если только все элементы данных не равны по длине, я рекомендую построчное считывание и построчную запись. Когда читаются строки данных, вам не нужно знать длину строк, а только их номер. Сама же "строка" может состоять из любого числа символов и даже вообще не содержать ни одного символа.
В любом случае, чтобы читать данные из текстового потока, присвойте переменной значение, возвращаемое одним из подходящих методов объекта Text Stream. Следующий фрагмент программного кода подскажет вам, как это сделать:
' чтение следующей строки из файла в переменную
strНекоторыйТекст = Text Stream.ReadLine
Для чтения предусмотрены следующие методы.
Метод (объекта Text Stream) | Выполняемое действие |
Read (число_символов) | Чтение заданного числа символов начиная с текущей позиции в файле |
ReadLine | Чтение всех символов начиная с текущей позиции в файле до следующего символа перехода на новую строку |
ReadAll | Чтение всего файла |
Skip ( число_символов) | Пропуск заданного числа символов при чтении файла. Следующее чтение должно начаться с первого из символов, следующих за пропущенными |
SkipLine | Пропуск следующей строки в файле. Следующее чтение должно начаться с первого из символов, следующих за пропущенной строкой |
Чтобы записать данные в текстовый поток, задайте текст для записи в виде строки как аргумент метода Write или WriteLine, как в следующем примере:
' запись строки
objTextStream.Write "Алло, центральная!"
' запись значения переменной с последующим символом