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