Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УП Технология программирования.doc
Скачиваний:
20
Добавлен:
11.06.2015
Размер:
1.69 Mб
Скачать

Объекты типа TextStream

Каждый объект типа TextStream связан с конкретным текстовым файлом. Его методы позволяют читать из файла и писать в файл, а также закрывают файл в конце работы с ним.

Методы, используемые при чтении файла, связанного с объектом типа TextStream:

Объект.Read(количество символов) – читает из файла указанное количество символов и выдаёт построенную из них строку.

Объект.ReadAll() – читает весь текст из файла и выдаёт его как строку.

Объект.ReadLine() – читает из файла одну строку (от текущего символа до конца строки) и выдаёт её в качестве результата; символ конца строки в результат не включается.

Объект.Skip(количество символов) – пропускает в файле указанное количество символов и ничего не выдаёт.

Объект.SkipLine() – пропускает текст в файле до конца строки, включая символ конца строки, и ничего не выдаёт.

Методы, используемые для записи в файл, связанный с объектом типа TextStream:

Объект.Write(строка) – записывает в конец файла указанную строку и ничего не выдаёт.

Объект.WriteLine(строка) – записывает в конец файла указанную строку и добавляет символ конца строки; ничего не выдаёт.

Объект.WriteBlankLines(количество строк) – записывает в конец фай­ла указанное количество пустых строк и ничего не выдаёт.

Метод закрытия текстового файла выводит в файл из буфера записи остаток записанного текста и удаляет связанный с файлом объект типа TextStream. Для последующего доступа к содержимому файла его снова нужно открыть методом OpenTextFile. Синтаксис метода следующий:

Объект.Close()

Пример. Следующая функция выдаёт строку "world!":

function SkipDemo()

{var fso, f, r;

//Создаётся объект типа FileSystemObject

fso=new ActiveXObject("Scripting.FileSystemObject");

//Открывается файл c:\testfile.txt (возможно, с созданием) как

//объект типа TextStream для записи в кодировке ASCII

f=fso.OpenTextFile("c:\\testfile.txt",2,true);

f.WriteLine("Hello world!"); //записывается первая строка

f.WriteLine("JScript is fun");//записывается вторая строка

f.Close(); //запись завершается с закрытием файла

//Снова открывается файл c:\testfile.txt (без создания) как

//объект типа TextStream для чтения в кодировке ASCII

f=fso.OpenTextFile("c:\\testfile.txt",1);

f.Skip(6); //пропускается 6 символов "Hello "

r=f.ReadLine(); //читается строка до конца, выдаётся "world!"

return(r) //при выходе из функции уничтожается локальная //переменная f вместе с объектом типа TextStream, а поскольку он для //чтения, то закрывать файл теперь не нужно.

}

При попытке чтения из конца файла, т.е. после того, как прочитан последний символ, или когда файл пуст, возникает ошибка. Чтобы её избежать, следует перед чтением проверять свойство

Объект.AtEndOfStream,

истинное, если указатель чтения находится в конце файла, и ложное в противном случае.

Пример. Печать содержимого файла:

fso=new ActiveXObject("Scripting.FileSystemObject");

f=fso.OpenTextFile("c:\\testfile.txt",1,false);

if (f.AtEndOfStream) r=”” //если файл пуст, его не читать

else r=f.ReadAll();

alert(r);

Полезными являются и другие свойства объекта типа TextStream:

Объект.AtEndOfLine – true, если указатель в конце строки, и false в противном случае.

Объект.Line – номер текущей строки (счет строк начинается с 1).

Объект.Column – номер текущего символа текущей строки (счёт символов в строке начинается с 1).