Rexx - 文件 I/O



在处理 I/O 时,Rexx 提供了许多方法。Rexx 提供更简单的类来为文件提供以下功能。

  • 读取文件
  • 写入文件
  • 查看文件是文件还是目录

Rexx 中用于文件 I/O 的函数基于行输入和字符输入,我们将详细介绍这两种函数。

让我们探索 Rexx 提供的一些文件操作。出于这些示例的目的,我们将假设存在一个名为 NewFile.txt 的文件,其中包含以下文本行:

示例1

示例2

示例3

此文件将用于以下示例中的读写操作。在这里,我们将讨论如何以不同的方式读取文件的内容。

逐行读取文件内容

文件的一般操作是通过使用 Rexx 库本身提供的方法来执行的。在 Rexx 中,读取文件是最简单的操作之一。

让我们看看用于完成此操作的函数。

linein

此方法从文本文件中返回一行。文本文件是作为函数输入参数提供的文件名。

语法 -

linein(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 变量都保存当前行的值。然后将其发送到控制台作为输出。

输出 - 当我们运行上述程序时,我们将得到以下结果。

Example1 
Example2 
Example3 

将内容写入文件

就像读取文件一样,Rexx 也有能力写入文件。让我们看看用于完成此操作的函数。

lineout

此方法将一行写入文件。需要写入行的文件作为 lineout 语句的参数提供。

语法 -

lineout(filename) 

参数 -

  • filename - 这是需要写入行的文件名。

返回值 - 此方法返回 lineout 函数的状态。如果该行成功写入,则返回的值为 0,否则将返回 1。

示例 -

/* Main program */ 
out = lineout(Example.txt,"Example4") 

输出 - 每当运行以上代码时,行“Example4”将被写入文件 Example.txt 中。

广告