Rexx-file-io

提供:Dev Guides
移動先:案内検索

Rexx-ファイルI/O

Rexxは、I/Oを操作するときに多くのメソッドを提供します。 Rexxは、ファイルに次の機能を提供するための簡単なクラスを提供します。

  • ファイルを読む
  • ファイルへの書き込み
  • ファイルがファイルかディレクトリかを確認する

Rexx for File I/Oで使用可能な機能は、行入力と文字入力の両方に基づいており、両方で使用可能な機能について詳しく見ていきます。

Rexxが提供するファイル操作のいくつかを見てみましょう。 これらの例の目的のために、次のテキスト行を含む NewFile.txt というファイルがあると想定します-

  • 例1 *
  • 例2 *
  • 例3 *

このファイルは、次の例で読み取りおよび書き込み操作に使用されます。 ここでは、ファイルの内容をさまざまな方法で読み取る方法について説明します。

ファイルの内容を一度に1行ずつ読み取る

ファイルに対する一般的な操作は、Rexxライブラリ自体で使用可能なメソッドを使用して実行されます。 ファイルの読み取りは、Rexxのすべての操作の中で最も単純です。

これを実現するために使用される関数を見てみましょう。

リネン

このメソッドは、テキストファイルから行を返します。 テキストファイルは、関数への入力パラメーターとして提供されるファイル名です。

構文-

linein(filename)

パラメータ-

  • filename -これは、行を読み取る必要があるファイルの名前です。

戻り値-このメソッドは、一度に1行のファイルを返します。

-

/*Main program*/
line_str = linein(Example.txt)
say line_str

上記のコードは、 Example.txt ファイル名がlinein関数に提供されるという点で非常に単純です。 次に、この関数はテキストの行を読み取り、結果を変数 line_str に提供します。

出力-上記のプログラムを実行すると、次の結果が得られます。

Example1

ファイルの内容を一度に読み取る

Rexxでは、whileステートメントを使用して、ファイルのすべてのコンテンツを読み取ることができます。 whileステートメントは、ファイルの最後に到達するまで、各行を1行ずつ読み取ります。

これを実現する方法の例を以下に示します。

/*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)

パラメータ-

  • ファイル名-これは、行を書き込む必要があるファイルの名前です。

戻り値-このメソッドは、ラインアウト関数のステータスを返します。 行が正常に書き込まれた場合、返される値は0です。それ以外の場合、値1が返されます。

-

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

出力-上記のコードが実行されるたびに、行「Example4」がファイル Example.txt に書き込まれます。