Чтение онлайн

ЖАНРЫ

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

Числовой параметр

iomode
задает режим ввода/вывода для открываемого файла и может принимать те же значения, что и одноименный параметр в методе
OpenTextFile
объекта
FileSystemObject
(табл. 5.5).

Числовой параметр

format
определяет формат открываемого файла (ASCII или Unicode). Этот параметр также может принимать те же значения, что и
format
в методе
OpenTextFile
объекта
FileSystemObject
(табл. 5.6).

Замечание

Открыть

текстовый файл для чтения можно также с помощью метода
OpenTextFile
объекта
FileSystemObject
.

В листинге 5.13 приведен сценарий WriteTextFile.js, иллюстрирующий использование метода OpenAsTextStream для записи строки в файл и чтения из него.

Листинг 5.13. Запись информации в текстовый файл и чтение ее из него

/*******************************************************************/

/* Имя: WriteTextFile.js */

/* Язык: JScript */

/* Описание: Запись строк в текстовый файл и чтение из него */

/*******************************************************************/

var FSO,F,TextStream,s; //Объявляем переменные

//Инициализируем константы

var ForReading = 1, ForWriting = 2, TristateUseDefault = -2;

//Создаем объект FileSystemObject

FSO=WScript.CreateObject("Scripting.FileSystemObject");

//Создаем в текущем каталоге файл test1.txt

FSO.CreateTextFile("test1.txt");

//Создаем объект File для файла test1.txt

F=FSO.GetFile("test1.txt");

//Создаем объект TextStream (файл открывается для записи)

TextStream=F.OpenAsTextStream(ForWriting, TristateUseDefault);

//Записываем в файл строку

TextStream.WriteLine("Это первая строка");

//Закрываем файл

TextStream.Close;

//Открываем файл для чтения

TextStream=F.OpenAsTextStream(ForReading, TristateUseDefault);

//Считываем строку из файла

s=TextStream.ReadLine;

//Закрываем файл

TextStream.Close;

//Отображаем строку на экране

WScript.Echo("Первая строка из файла test1.txt:\n\n",s);

/************* Конец *********************************************/
 

Коллекция Files

Коллекция

Files
содержит объекты
File
для всех файлов, находящихся внутри определенного каталога. Создается эта коллекция с помощью свойства
Files
соответствующего объекта
Folder
. Например, в следующем примере переменная
Files
является коллекцией, содержащей объекты
File
для всех файлов в каталоге С:\Мои документы:

var FSO, F, Files;

FSO=WScript.CreateObject("Scripting.FileSystemObject");

F=FSO.GetFolder("С:\\Мои документы");

Files=F.Files;

Как и рассмотренные выше коллекции

Drives
и
Folders
, коллекция
Files
имеет свойство
Count
и метод
Item
.

Для доступа в цикле ко всем элементам коллекции

Files
применяется объект
Enumerator
. В качестве примера использования этого объекта в листинге 5.14 приведен сценарий ListFiles.js, выводящий на экран названия всех файлов, которые содержатся в специальной папке "Мои документы" (рис. 5.6). 

Рис. 5.6. Список всех файлов в специальной папке "Мои документы"

Листинг 5.14. Построение списка файлов

/*******************************************************************/

/* Имя: ListFiles.js */

/* Язык: JScript */

/* Описание: Получение списка всех файлов заданного каталога */

/*******************************************************************/

//Объявляем переменные

var FSO,F,Files,WshShell,PathList,s;

//Создаем объект FileSystemObject

FSO=WScript.CreateObject("Scripting.FileSystemObject");

//Создаем объект WshShell

WshShell=WScript.CreateObject("Wscript.Shell");

//Создаем объект WshSpecialFolders

WshFldrs=WshShell.SpecialFolders;

//Определяем путь к папке "Мои документы"

PathList=WshFldrs.item("MyDocuments")+"\\";

//Создаем объект Folder для папки "Мои документы"

F=FSO.GetFolder(PathList);

//Создаем коллекцию файлов каталога "Мои документы"

Files=new Enumerator(F.Files);

s = "Файлы из каталога "+PathList+"\n";

//Цикл по всем файлам

for (; !Files.atEnd; Files.moveNext)

 //Добавляем строку с именем файла

 s+=Files.item.Name+"\n";

//Выводим полученные строки на экран

WScript.Echo(s);

/************* Конец *********************************************/
 

Объект TextStream

Объект

TextStream
обеспечивает последовательный (строка за строкой) доступ к текстовому файлу. Методы этого объекта позволяют читать информацию из файла и записывать ее в него.

Поделиться с друзьями: