如何在 Ruby 中讀取和寫入檔案


Ruby 為我們提供了不同的方法來處理檔案。簡單來說,**檔案處理**涉及不同的過程,例如建立新檔案、讀取檔案中存在的內容、向檔案寫入某些內容、將內容追加到檔案、刪除檔案等等。

在 Ruby 中進行**檔案處理**可以使用不同的模式。它們是:

  • **r** = 只讀模式

  • **r+** = 讀寫模式

  • **w** = 僅寫入模式

  • **w+** = 讀寫模式

以及更多。這四種提到的模式在 Ruby 中進行**檔案處理**時是最常用的。在本文中,我們將藉助示例逐一探討所有主要的檔案處理案例。

在 Ruby 中建立檔案

讓我們從最常見和最有用的一個開始,**如何在 Ruby 中建立檔案**。請考慮以下程式碼。

# Creating a file
fileObj = File.new("tutorials.txt", "w+");

# Writing to the file
fileObj.syswrite("This file contains knowledge!");

# Closing a file
fileObj.close();

當我們想要在 Ruby 中建立一個新檔案時,我們使用**File**模組的**new()**方法,它接受兩個引數。第一個引數是檔案的**名稱**,第二個引數是我們想要開啟檔案的**模式**。

如果我們在任何 Ruby IDE 上編寫以下程式碼,則會在同一目錄中建立一個新檔案。我們可以使用**cat**命令開啟檔案來確認這一點。

**命令** -

cat tutorials.txt

它將產生以下輸出。

This file contains knowledge!

在 Ruby 中開啟檔案

現在我們將看到如何在 Ruby 中開啟檔案。我們可以使用多種方法在 Ruby 中開啟檔案。有兩種方法被廣泛使用 - **sysread(n)**和**read()**方法。

open 方法用於開啟檔案,而**sysread(n)**用於從檔案中讀取前“n”個字元,**read()**方法用於讀取整個檔案內容。

示例

請考慮以下程式碼。

fileObject = File.open("tutorials.txt","r");
puts(fileObject.sysread(10));
fileObject.close();

在上面的程式碼中,我們正在讀取名為“**tutorials.txt**”的檔案的前 10 個字元。

它將產生以下輸出。

This file

以下是另一個在 Ruby 中開啟檔案的示例。

fileObject = File.open("tutorials.txt","r");
print(fileObject.read());
fileObject.close();

它將產生以下輸出。

This file contains knowledge!

現在讓我們嘗試在 Ruby 中重新命名檔案。

在 Ruby 中重新命名檔案

要在 Ruby 中重新命名檔案,我們需要使用**File**模組中提供的**rename**方法。

puts File.rename("tutorials.txt", "sample.txt")

此命令將把檔名從“tutorials.txt”更改為“sample.txt”。並且,它將在控制檯上顯示以下輸出:

0

在 Ruby 中刪除檔案

最後但並非最不重要的一點,讓我們考慮如何在 Ruby 中刪除檔案。要刪除檔案,我們只需要呼叫**File**模組中提供的**delete**方法。

puts File.delete("sample.txt")

如果我們在任何 Ruby IDE 上編寫以下程式碼,則將在控制檯上獲得以下輸出:

1

更新時間: 2022年4月12日

4K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.