Объект TextStream

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

Создать объект TextStream можно с помощью следующих методов:

Свойства объекта TextStream

AtEndOfLineСодержит true, если указатель достиг конца строки в файле, и false в противном случае.
AtEndOfStreamСодержит true, если указатель достиг конца файла, и false в противном случае.
ColumnСодержит номер колонки текущего символа в текстовом файле.
LineСодержит номер текущей строки в текстовом файле.

Методы объекта TextStream

Close()Закрывает открытый файл
Read()Считывает из файла указанное число символов и возвращает полученную строку
ReadAll()Считывает полностью весь файл и возвращает полученную строку
ReadLine()Возвращает полностью считанную из файла строку
Skip()Пропускает при чтении указанное число символов
SkipLine()Пропускает целую строку при чтении
Write()Записывает в файл строку без символа конца строки
WriteBlankLines()Записывает в файл указанное число пустых строк.
WriteLine()Записывает в файл строку вместе с символом конца строки.

AtEndOfLine

Синтаксис

// Свойство. Только чтение.

TextStream.AtEndOfLine

Возвращаемое значение

Содержит true, если указатель достиг конца строки и false в противном случае. Работает только если файл открыт для чтения.

Пример

function GetALine(filespec)
  { var fso, a, s, ForReading;
    ForReading = 1, s = "";
    fso = new ActiveXObject("Scripting.FileSystemObject");
    a = fso.OpenTextFile(filespec, ForReading, false);
    while (!a.AtEndOfLine)
	{ s += a.Read(1); }
    a.Close( );
    return(s);
  }

AtEndOfStream

Синтаксис

// Свойство. Только чтение.

TextStream.AtEndOfStream

Возвращаемое значение

Содержит true, если указатель достиг конца файла и false в противном случае. Работает только если файл открыт для чтения.

Пример

function GetALine(filespec)
 { var fso, f, s, ForReading;
   ForReading = 1, s = "";
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.OpenTextFile(filespec, ForReading, false);
   while (!f.AtEndOfStream)
   s += f.ReadLine( );
   f.Close( );
   return(s);
 }

Column

Синтаксис

// Свойство. Только чтение.

TextStream.Column

Возвращаемое значение

Содержит номер колонки текущего символа файла.

Пример

function GetColumn()
 { var fso, f, m;
   var ForReading = 1, ForWriting = 2;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, true);
   f.Write("Hello World!");
   f.Close();
   f = fso.OpenTextFile("c:\\testfile.txt", ForReading);
   m = f.ReadLine();
   return(f.Column);
  }

Line

Синтаксис

// Свойство. Только чтение.

TextStream.Line

Возвращаемое значение

Содержит номер текущей строки файла.

Пример

function GetLine()
 { var fso, f, r
   var ForReading = 1, ForWriting = 2;
   fso = new ActiveXObject("Scripting.FileSystemObject")
   f = fso.OpenTextFile("c:\\textfile.txt", ForWriting, true)
   f.WriteLine("Hello world!");
   f.WriteLine("JScript is fun");
   f.Close();
   f = fso.OpenTextFile("c:\\textfile.txt", ForReading);
   r =  f.ReadAll();
   return(f.Line);
 }

Close()

Метод Close() закрывает открытый файл.

Синтаксис

TextStream.Close()

Параметры

Нет

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var File = FSO.GetFile("C:\\boot.ini");
var TextStream = File.OpenAsTextStream(1);
WScript.Echo ( TextStream.ReadAll() );
TextStream.Close();

Read()

Метод Read() считывает из файла указанное количество символов и возвращает полученную строку.

Синтаксис

TextStream.Read( Characters )

Параметры

Characters
Число, количество символов, которое нужно считать.

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var File = FSO.GetFile("C:\\boot.ini");
var TextStream = File.OpenAsTextStream(1);
WScript.Echo ( TextStream.Read(13) );
TextStream.Close();

ReadAll()

Метод ReadAll() считывает весь файл и возвращает полученную строку.

Синтаксис

TextStream.ReadAll

Параметры

Нет

Комментарии

Для больших файлов использование этого метода потребует больших ресурсов памяти.

Пример

function GetEverything()
 { var fso, f;
   var ForReading = 1, ForWriting = 2;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, true);
   f.Write("Header");
   f.Write("1234567890987654321");
   f.Close();
   f = fso.OpenTextFile("c:\\testfile.txt", ForReading);
   return(f.ReadAll());
 }

ReadLine()

Метод ReadLine() считывает строку из файла и возвращает полученную строку.

Синтаксис

TextStream.ReadLine

Параметры

Нет

Пример

function GetLine()
 { var fso, f, r;
   var ForReading = 1, ForWriting = 2;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, true);
   f.WriteLine("Hello world!");
   f.WriteLine("JScript is fun");
   f.Close();
   f = fso.OpenTextFile("c:\\testfile.txt", ForReading);
   r =  f.ReadLine();
   return(r);
 }

Skip()

Метод Skip() пропускает при чтении файла указанное количество символов.

Синтаксис

TextStream.Skip( Characters )

Параметры

Characters
Число, количество символов, которые нужно пропустить.

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var File = FSO.GetFile("C:\\boot.ini");
var TextStream = File.OpenAsTextStream(1);
WScript.Echo ( TextStream.Read(13) );
TextStream.Skip (10);
WScript.Echo ( TextStream.Read(10) );
TextStream.Close();

SkipLine()

Метод SkipLine() пропускает при чтении файла строку.

Синтаксис

TextStream.SkipLine

Параметры

Нет

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var File = FSO.GetFile("C:\\boot.ini");
var TextStream = File.OpenAsTextStream(1);
WScript.Echo ( TextStream.ReadLine() );
TextStream.SkipLine();
WScript.Echo ( TextStream.ReadLine() );
TextStream.Close();

Write()

Метод Write() записывает в файл указанную строку. Символы возврата каретки и новой строки в файл не записываются.

Синтаксис

TextStream.Write( String )

Параметры

String
Строка для записи в файл.

Пример

function WriteDemo()
 { var fso, f, r
   var ForReading = 1, ForWriting = 2;
   fso = new ActiveXObject("Scripting.FileSystemObject")
   f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, true)
   f.Write("Hello world!");
   f.Close();
   f = fso.OpenTextFile("c:\\testfile.txt", ForReading);
   r = f.ReadLine();
   return(r);
 }

WriteLine()

Метод WriteLine() записывает в файл указанную строку. В файл записываются символы возврата каретки и новой строки.

Синтаксис

TextStream.WriteLine( String )

Параметры

String
Необязательный, строка для записи в файл. Если опущен, в файл записывается пустая строка.

Пример

function WriteLnDemo()
 { var fso, f, r
   var ForReading = 1, ForWriting = 2;
   fso = new ActiveXObject("Scripting.FileSystemObject")
   f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, true)
   f.WriteLine("Hello world!");
   f.Close();
   f = fso.OpenTextFile("c:\\testfile.txt", ForReading);
   r = f.ReadLine();
   return(r);
 }

WriteBlankLines()

Метод WriteBlankLines() записывает в файл указанное количество пустых строк (символы возврата каретки и новой строки).

Синтаксис

TextStream.WriteBlankLines( Lines )

Параметры

Lines
Число, количество пустых строк, которое надо записать.

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var TextStream = FSO.CreateTextFile("C:\\Test.txt");
TextStream.WriteBlankLines (5);
TextStream.Close();