Rexx - 文件 I/O
Rexx 在使用 I/O 时提供了多种方法。 Rexx 提供了更简单的类来为文件提供以下功能。
- 读取文件
- 写入文件
- 查看文件是文件还是目录
Rexx 中用于文件 I/O 的可用函数基于行输入和字符输入,我们将详细研究这两种输入的可用函数。
让我们探索一下 Rexx 提供的一些文件操作。 出于这些示例的目的,我们假设有一个名为 NewFile.txt 的文件,其中包含以下文本行 −
示例1
示例2
示例3
该文件将用于以下示例中的读写操作。 这里我们将讨论如何以不同的方式读取文件的内容。
一次读取一行文件的内容
对文件的一般操作是通过使用 Rexx 库本身提供的方法来执行的。 文件的读取是 Rexx 中所有操作中最简单的。
让我们看看用于完成此操作的函数。
linein
此方法返回文本文件中的一行。 文本文件是作为函数输入参数提供的文件名。
语法 −
linein(filename)
参数 −
filename − 这是需要读取该行的文件的名称。
返回值 − 此方法一次返回文件的一行。
示例 −
/* 主程序 */ line_str = linein(Example.txt) say line_str
上面的代码非常简单,因为 Example.txt 文件名被提供给 linein 函数。 然后,该函数读取一行文本并将结果提供给变量 line_str。
输出 − 当我们运行上面的程序时,我们将得到以下结果。
Example1
一次性读取文件内容
在Rexx中,通过while语句可以实现读取文件的全部内容。 while 语句将逐行读取每一行,直到到达文件末尾。
下面显示了如何实现这一目标的示例。
/* 主程序 */ do while lines(Example.txt) > 0 line_str = linein(Example.txt) say line_str end
在上面的程序中,需要注意以下几点 −
lines 函数读取Example.txt 文件。
while 函数用于检查Example.txt 文件中是否存在其他行。
对于从文件中读取的每一行,line_str 变量保存当前行的值。 然后将其作为输出发送到控制台。
输出 − 当我们运行上面的程序时,我们将得到以下结果。
Example1 Example2 Example3
将内容写入文件
就像读取文件一样,Rexx 也具有写入文件的能力。 让我们看看用于完成此操作的函数。
lineout
此方法将一行写入文件。 需要写入该行的文件作为 lineout 语句的参数提供。
语法 −
lineout(filename)
参数 −
filename − 这是需要写入该行的文件的名称。
返回值 − 此方法返回 lineout 函数的状态。 如果该行写入成功,则返回值为 0,否则返回值 1。
示例 −
/* 主程序 */ out = lineout(Example.txt,"Example4")
输出 − 每当运行上述代码时,"Example4"行都会被写入文件 Example.txt。