使用I / O時(shí),Erlang提供了許多方法。 它具有更簡單的類,可為文件提供以下功能-
讀取文件
寫入文件
查看文件是文件還是目錄
讓我們探究Erlang提供的一些文件操作。就這些示例而言,我們將假設(shè)存在一個(gè)名為NewFile.txt的文件,其中包含以下文本行
Example1
Example2
Example3
在以下示例中,此文件將用于讀取和寫入操作。
使用文件庫中可用的方法對(duì)文件執(zhí)行常規(guī)操作。為了讀取文件,我們需要首先使用open操作,然后使用read操作,該操作可作為文件庫的一部分使用。以下是這兩種方法的語法。
打開文件– Open(File,Mode)
讀取文件– read(FileHandler,NumberofBytes)
File ?這是需要打開的文件的位置。
Mode ?這是需要打開文件的模式。
以下是一些可用的模式-
Read ?必須存在的文件已打開以進(jìn)行讀取。
Write?打開文件進(jìn)行寫入。如果它不存在,則創(chuàng)建它。如果文件存在,并且寫與讀不結(jié)合,則文件將被截?cái)唷?/p>
Append?該文件將被打開以進(jìn)行寫入,如果不存在則將被創(chuàng)建。對(duì)用append打開的文件進(jìn)行的所有寫操作都將在文件末尾進(jìn)行。
Exclusive?打開該文件進(jìn)行寫入時(shí),如果該文件不存在,則會(huì)創(chuàng)建該文件。如果文件存在,則open將返回{error, exist}。
FileHandler?這是文件的句柄。這個(gè)句柄是使用file:open操作時(shí)返回的句柄。
NumberofByte ?這是需要從文件中讀取的信息的字節(jié)數(shù)。
Open(File,Mode) ?如果操作成功,則返回文件的句柄。
read(FileHandler,NumberofBytes) ?從文件返回請(qǐng)求的讀取信息。
-module(helloworld). -export([start/0]). start() -> {ok, File} = file:open("Newfile.txt",[read]), Txt = file:read(File,1024 * 1024), io:fwrite("~p~n",[Txt]).
輸出?運(yùn)行上述程序時(shí),將得到以下結(jié)果。
Example1
現(xiàn)在讓我們討論可用于文件操作的其他一些方法-
序號(hào) | 方法與說明 |
---|---|
1 | 可用于一次讀取文件的所有內(nèi)容。 |
2 | 用于將內(nèi)容寫入文件。 |
3 | 用于復(fù)制現(xiàn)有文件。 |
4 | 此方法用于刪除現(xiàn)有文件。 |
5 | 此方法用于列出特定目錄的內(nèi)容。 |
6 | 此方法用于創(chuàng)建新目錄。 |
7 | 此方法用于重命名現(xiàn)有文件。 |
8 | 此方法用于確定文件的大小。 |
9 | 此方法用于確定文件是否確實(shí)是文件。 |
10 | 此方法用于確定目錄是否確實(shí)是目錄。 |