File I/O
在使用I/O时,Rexx提供了许多方法。 Rexx提供了更简单的类来为文件提供以下功能。
- 读文件
- 写入文件
- 查看文件是文件还是目录
Rexx for File I/O中可用的功能基于线路输入和字符输入,我们将详细介绍两者可用的功能。
让我们来探讨一下Rexx提供的一些文件操作。 出于这些示例的目的,我们假设有一个名为NewFile.txt的文件,其中包含以下文本行 -
Example1
Example2
Example3
此文件将用于以下示例中的读取和写入操作。 在这里,我们将讨论如何以不同方式读取文件中的内容。
一次读取一行文件的内容
对文件的一般操作是使用Rexx库本身中提供的方法执行的。 读取文件是Rexx中最简单的操作。
让我们看一下用于实现此目的的函数。
linein
此方法从文本文件返回一行。 文本文件是作为函数的输入参数提供的文件名。
Syntax -
linein(filename)
Parameter -
filename - 这是需要读取行的文件的名称。
Return Value - 此方法一次返回文件的一行。
Example -
/* Main program */
line_str = linein(Example.txt)
say line_str
上面的代码非常简单,因为Example.txt文件名被提供给linein函数。 然后,此函数读取一行文本并将结果提供给变量line_str 。
Output - 当我们运行上述程序时,我们将得到以下结果。
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变量保存当前行的值。 然后将其作为输出发送到控制台。
Output - 当我们运行上述程序时,我们将得到以下结果。
Example1
Example2
Example3
将内容写入文件
就像读取文件一样,Rexx也能够写入文件。 让我们看一下用于实现此目的的函数。
lineout
此方法将一行写入文件。 需要将行写入的文件作为lineout语句的参数提供。
Syntax -
lineout(filename)
Parameter -
filename - 这是需要写入行的文件的名称。
Return Value - 此方法返回lineout函数的状态。 如果成功写入行,则返回的值为0,否则返回值1。
Example -
/* Main program */
out = lineout(Example.txt,"Example4")
Output - 每当运行上述代码时,“Example4”行将被写入文件Example.txt 。