JavaScript
это современный язык, который позволяет работать с дисковой системой практически напрямую. В этом разделе описаны методы работы с текстовыми файлами при помощи объекта TextStream
.
Работа с текстовыми файлами заключается в использовании объект TextStream сервера Windows Script Host, который позволяет производить последовательное считывание (строка за строкой) документа. Обработка файлов требует возможности считывать из них информацию и записывать в них данные. Для создания класса TextStream можно использовать следующие методы: CreateTextFile
, OpenTextFile
объекта FileSystemObject и OpenAsTextStream
класса File.
Свойства класса TextStream
AtEndOfLine – При считывании информации свойство содержит логическое true, если был достигнут конец строки и false в противном случае. Только_чтение.
AtEndOfStream — При считывании информации содержит логическое true, если был достигнут конец и false в противном случае. Только_чтение.
Column – Позволяет при работе с текстовыми файлами получить номер колонки текущего символа. Только_чтение.
Line – Позволяет получить номер текущей строчки в документе. Только чтение
Методы класса TextStream
Close() – Закрывает документ после окончания записи в него данных.
Read(n) – Метод позволяет считать заданное количество символов (n), возвращает полученную строчку.
ReadAll() – Позволяет считать полностью все содержимое и вернуть полученный результат.
ReadLine() — Позволяет считать полностью строчку
Skip(n) – Метод полезен, если надо при считывании данных пропустить заданное количество символов (n).
SkipLine() — Метод полезен, если надо при считывании данных пропустить целую строку при работе с текстовым файлом.
Write(string) – Позволяет произвести запись строчки (string), без символа конца.
WriteBlankLines(n) — Записывает заданное количество (n) пустых строк (символы перевода строчки и возврата каретки)
WriteLine([string]) — Позволяет произвести запись строки (string), вместе с символом конца строки). Если параметр string отсутствует, то в документ будет записываться пустая строка.
Пример
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
//****************************************************************** // Класс TextStream // Работа с текстовыми файлами - считывание данных // text-file.js //****************************************************************** var FSO,F,s; var ForReading = 1; FSO = WScript.CreateObject("Scripting.FileSystemObject"); var objArgs = WScript.Arguments; //В качестве анализа можно просто перетянуть_документ на иконку скрипта if (objArgs.length <= 0) WScript.Echo ("Перетащите любой текстовый файл на значок сценария"); else{ file = objArgs(0); F=FSO.OpenTextFile(file, ForReading); //Начинаем считывать данные s=F.ReadAll(); WScript.Echo(s); } |
Свойства
AtEndOfLine
Свойство AtEndOfLine возвращает true, если следующим символом файла является символ перевода строки, и false в противном случае. Этим свойством обладают только файлы, открытые для чтения. Следующий пример показывает, как можно считать первую строку текстового файла:
1 2 3 4 5 6 |
var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.OpenTextFile("c:\\test.txt", 1, false); var s = ""; while (!f.AtEndOfLine) s += f.Read(1); f.Close(); |
AtEndOfStream
Свойство AtEndOfStream возвращает true, если достигнут конец файла, и false в противном случае. Этим свойством обладают только файлы, открытые для чтения. Следующий пример показывает, как можно считать весь текстовый файл в строку:
1 2 3 4 5 6 |
var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.OpenTextFile("c:\\test.txt", 1, false); var s = ""; while (!f.AtEndOfStream) s += f.ReadLine(); f.Close(); |
Column
Свойство Column возвращает номер текущего символа в строке, считая с 1.
1 2 3 4 |
var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.OpenTextFile("c:\\test.txt", 1, false); var s = f.ReadLine(); var n = f.Column; // n - количество символов в строке |
Line
Свойство Line возвращает номер текущей строки файла, считая с 1
1 2 3 4 |
var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.OpenTextFile("c:\\test.txt", 1, false); var s = f.ReadAll(); var n = f.Line; |
Методы
Close
Метод Close закрывает данный файл. Примеры его использования приведены выше
Read
Синтаксис: объект.Read(число)
Аргументы: число — числовое выражение
Результат: строковое значение
Метод Read читает из файла заданное число символов и возвращает их в новой строке. Пример его использования приведен выше.
ReadAll
Синтаксис: объект.ReadAll()
Результат: строковое значение
Метод ReadAll считывает файл полностью и возвращает результат в новой строке. Пример его использования приведен выше. Этим методом можно пользоваться только в тех случаях, когда размер файла невелик. В противном случае следует пользоваться последовательным обращением к методу ReadLine.
ReadLine
Метод ReadLine считывает очередную строку из файла и возвращает результат в новой строке. Пример его использования приведен выше. Чтение производится до символа перевода строки, но не включая его.
Skip
Метод Skip считывает из файла заданное число символов, но не возвращает их. Используется для пропуска ненужного содержимого файла. Следующий пример пропускает при чтении первую строку файла:
1 2 3 4 5 |
var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.OpenTextFile("c:\\test.txt", 1, false); while (!f.AtEndOfLine) f.Skip(1); … |
SkipLine
Метод SkipLine считывает из файла очередную строку, но не возвращает ее. Используется для пропуска ненужного содержимого файла. Следующий пример пропускает при чтении первую строку файла:
1 2 3 4 |
var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.OpenTextFile("c:\\test.txt", 1, false); f.SkipLine(); … |
Write
Синтаксис: объект.Write(строка)
Аргументы: строка — строковое выражение
Метод Write выводит в файл заданную строку. Символ перевода строки после строки не выводится, для этого нужно пользоваться методом WriteLine. Пример:
1 2 3 4 |
var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.OpenTextFile("c:\\test.txt", 2, true); f.Write("Тестовая строка"); f.Close(); |
WriteBlankLines
Метод WriteBlankLines выводит в файл заданное число символов перевода строки. Пример:
1 2 3 4 |
var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.OpenTextFile("c:\\test.txt", 2, false); f.WriteBlankLines(10); f.Close() |
WriteLine
Синтаксис: объект.Write(строка)
Аргументы: строка — строковое выражение
Метод Write выводит в файл заданную строку и символ перевода строки после нее. Если строка опущена, то выводится только символ перевода строки. Пример:
1 2 3 4 |
var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.OpenTextFile("c:\\test.txt", 2, true); f.WriteLine("Тестовая строка"); f.Close(); |
Один комментарий для “JScript текстовые файлы”