Rexx - 文件 I/O


Rexx 在使用 I/O 时提供了多种方法。Rexx 提供了更简单的类来为文件提供以下功能。

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

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

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

示例1

例2

例3

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

一次一行读取文件的内容

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

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

亚麻

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

语法-

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(filename) 

参数-

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

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

示例-

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

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