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 中。

廣告