Доброго времени суток всем читателям и подписчикам блога scriptcoding.ru. Сегодня мы рассмотрим работу с текстовыми файлами.
Работа с текстовыми файлами (параллельно можете почитать про редактор Notepad++) заключается в использовании объект TextStream сервера Windows Script Host, который позволяет производить последовательное считывание (строка за строкой) документа. Обработка файлов требует возможности считывать из них информацию и записывать в них данные. Для создания класса TextStream можно использовать следующие методы: CreateTextFile, OpenTextFile объекта FileSystemObject и OpenAsTextStream класса File.
Теперь давайте перейдем к рассмотрению свойств и методов объекта TextStream.
Свойства класса TextStream – работа с текстовыми файлами
AtEndOfLine – При считывании информации свойство содержит логическое true, если был достигнут конец строки и false в противном случае. Только_чтение.
AtEndOfStream — При считывании информации содержит логическое true, если был достигнут конец и false в противном случае. Только_чтение.
Column – Позволяет при работе с текстовыми файлами получить номер колонки текущего символа. Только_чтение.
Line – Позволяет получить номер текущей строчки в документе. Только чтение.
Методы класса TextStream – работа с текстовыми Windows файлами
Close() – Закрывает документ после окончания записи в него данных.
Read(n) – Метод позволяет считать заданное количество символов (n), возвращает полученную строчку.
ReadAll() – Позволяет считать полностью все содержимое и вернуть полученный результат.
ReadLine() — Позволяет считать полностью строчку
Skip(n) – Метод полезен, если надо при считывании данных пропустить заданное количество символов (n).
SkipLine() — Метод полезен, если надо при считывании данных пропустить целую строку при работе с текстовым файлом.
Write(string) – Позволяет произвести запись строчки (string), без символа конца.
WriteBlankLines(n) — Записывает заданное количество (n) пустых строк (символы перевода строчки и возврата каретки)
WriteLine([string]) — Позволяет произвести запись строки (string), вместе с символом конца строки). Если параметр string отсутствует, то в документ будет записываться пустая строка.
Ниже показаны два пример на языке VBScript и JScript. Примеры довольно простые, вы просто перетаскиваете элемент на иконку скрипта и вам будет показано содержимое файла.
Язык VBScript:
'****************************************************************** ' Класс TextStream ' Работа с текстовыми файлами - считывание данных ' text-file.vbs '****************************************************************** Dim FSO,F,s set FSO = WScript.CreateObject("Scripting.FileSystemObject") set objArgs = WScript.Arguments ' В качестве анализа можно просто перетянуть документ на иконку скрипта If objArgs.Count <= 0 Then WScript.Echo "Перетащите любой _файл_ на значок сценария" else file = objArgs(0) set F=FSO.OpenTextFile(file,1) 'Начинаем считывать данные s=F.ReadAll() WScript.Echo s end if |
Язык JScript:
//****************************************************************** // Класс 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); } |
Хорошо, с программирование закончили… Видим, что примеры очень простые. Кроме того, важно отметить, что для доступа TextStream нам не нужно создавать отдельную переменную. Это связано с тем, что данный класс доступен автоматически при работе с текстовыми файлами. Используя свойство Arguments мы можем обработать любой элемент, который перетащим на иконку скрипта, далее идет проверка условия: если количество передаваемых аргументов ровно нолю, то будет выведено диалоговое окно с предупреждением. Если число передаваемых аргументов больше ноля, то произойдет считывание содержимого и вывод полученного результата.