Erlang - 檔案I/O



Erlang在處理I/O時提供多種方法。它擁有更便捷的類來提供以下檔案功能:

  • 讀取檔案
  • 寫入檔案
  • 檢視檔案是檔案還是目錄

Erlang中的檔案操作方法

讓我們探索Erlang提供的一些檔案操作。為方便起見,以下示例假設存在一個名為NewFile.txt的檔案,其中包含以下文字:

示例1

示例2

示例3

此檔案將用於以下示例中的讀寫操作。

一次讀取檔案內容一行

一般檔案操作是透過使用檔案庫中的方法進行的。對於檔案的讀取,我們需要首先使用open操作,然後使用檔案庫中提供的read操作。以下是這兩種方法的語法:

語法

  • 開啟檔案 – Open(File,Mode)
  • 讀取檔案 – read(FileHandler,NumberofBytes)

引數

  • File − 需要開啟的檔案位置。

  • Mode − 需要開啟檔案的模式。

以下是部分可用模式:

  • Read − 開啟檔案以進行讀取,檔案必須存在。

  • Write − 開啟檔案以進行寫入。如果檔案不存在,則建立它。如果檔案存在,並且write未與read組合使用,則檔案將被截斷。

  • Append − 開啟檔案以進行寫入,如果檔案不存在,則建立它。對以追加模式開啟的檔案的每次寫入操作都將發生在檔案的末尾。

  • Exclusive − 開啟檔案以進行寫入時,如果檔案不存在,則建立它。如果檔案存在,open將返回{error, exist}。

  • FileHandler − 檔案控制代碼。使用file:open操作時返回此控制代碼。

  • NumberofByte − 需要從檔案中讀取的位元組數。

返回值

  • Open(File,Mode) − 如果操作成功,則返回檔案控制代碼。

  • read(FileHandler,NumberofBytes) − 返回從檔案中讀取的請求資訊。

例如

-module(helloworld). 
-export([start/0]). 

start() -> 
   {ok, File} = file:open("Newfile.txt",[read]),
   Txt = file:read(File,1024 * 1024), 
   io:fwrite("~p~n",[Txt]).

輸出 − 執行上述程式後,將得到以下結果。

Example1

現在讓我們討論一些其他可用的檔案操作方法:

序號 方法和描述
1

file_read

允許一次讀取檔案的所有內容。

2

write

用於將內容寫入檔案。

3

copy

用於複製現有檔案。

4

delete

此方法用於刪除現有檔案。

5

list_dir

此方法用於列出特定目錄的內容。

6

make_dir

此方法用於建立新目錄。

7

rename

此方法用於重新命名現有檔案。

8

file_size

此方法用於確定檔案的大小。

9

is_file

此方法用於確定檔案是否真的是檔案。

10

is_dir

此方法用於確定目錄是否真的是目錄。

廣告
© . All rights reserved.