如何在 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
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP