Rexx предоставляет ряд методов при работе с I / O. Rexx предоставляет более простые классы для обеспечения следующих функций для файлов.
- Чтение файлов
- Запись в файлы
- Видя, является ли файл файлом или каталогом
Функции, доступные в Rexx для файлового ввода-вывода, основаны как на строковом, так и на символьном вводе, и мы рассмотрим функции, доступные для обоих, подробно.
Давайте рассмотрим некоторые файловые операции, которые Rexx предлагает. Для целей этих примеров мы будем предполагать, что существует файл с именем NewFile.txt, который содержит следующие строки текста:
Example1
Example2
Example3
Этот файл будет использоваться для операций чтения и записи в следующих примерах. Здесь мы обсудим, как по-разному читать содержимое файла.
Чтение содержимого файла строка за раз
Общие операции с файлами выполняются с использованием методов, доступных в самой библиотеке Rexx. Чтение файлов является самой простой из всех операций в Rexx.
Давайте посмотрим на функцию, используемую для достижения этой цели.
LineIn
Этот метод возвращает строку из текстового файла. Текстовый файл — это имя файла, предоставляемое в качестве входного параметра функции.
Синтаксис —
linein(filename)
Параметр —
-
filename — это имя файла, из которого нужно прочитать строку.
filename — это имя файла, из которого нужно прочитать строку.
Возвращаемое значение — этот метод возвращает одну строку файла за раз.
Пример —
/* Main program */ line_str = linein(Example.txt) say line_str
Приведенный выше код довольно прост в том, что имя файла Example.txt предоставляется функции linein. Затем эта функция читает строку текста и предоставляет результат переменной line_str .
Вывод. Когда мы запустим указанную выше программу, мы получим следующий результат.
Example1
Чтение содержимого файла за один раз
В Rexx чтение всего содержимого файла может быть достигнуто с помощью оператора while. Оператор while будет читать каждую строку, одну за другой, пока не будет достигнут конец файла.
Пример того, как этого можно достичь, показан ниже.
/* Main program */ do while lines(Example.txt) > 0 line_str = linein(Example.txt) say line_str end
В приведенной выше программе необходимо отметить следующее:
-
Функция lines читает файл Example.txt .
-
Функция while используется для проверки наличия дополнительных строк в файле Example.txt.
-
Для каждой строки, прочитанной из файла, переменная line_str содержит значение текущей строки. Затем он отправляется на консоль в качестве вывода.
Функция lines читает файл Example.txt .
Функция while используется для проверки наличия дополнительных строк в файле Example.txt.
Для каждой строки, прочитанной из файла, переменная line_str содержит значение текущей строки. Затем он отправляется на консоль в качестве вывода.
Вывод. Когда мы запустим указанную выше программу, мы получим следующий результат.
Example1 Example2 Example3
Запись содержимого в файл
Так же, как чтение файлов, Rexx также имеет возможность записи в файлы. Давайте посмотрим на функцию, которая используется для достижения этой цели.
оридор
Этот метод записывает строку в файл. Файл, в который должна быть записана строка, предоставляется в качестве параметра оператора lineout.
Синтаксис —
lineout(filename)
Параметр —
-
filename — это имя файла, откуда должна быть записана строка.
filename — это имя файла, откуда должна быть записана строка.
Возвращаемое значение — этот метод возвращает состояние функции линейного выхода. Возвращаемое значение равно 0, если строка была успешно записана, иначе будет возвращено значение 1.
Пример —
/* Main program */ out = lineout(Example.txt,"Example4")
Вывод — всякий раз, когда запускается вышеуказанный код, строка «Example4» записывается в файл Example.txt .