编辑这个页面须要登录或更高权限!

Erlang 文件

使用I / O时,Erlang提供了许多方法。 它具有更简单的类,可为文件提供以下功能-

  • 读取文件

  • 写入文件

  • 查看文件是文件还是目录

Erlang中的文件操作方法

让我们探究Erlang提供的一些文件操作。就这些示例而言,我们将假设存在一个名为NewFile.txt的文件,其中包含以下文本行

Example1

Example2

Example3

在以下示例中,此文件将用于读取和写入操作。

一次读取一行文件的内容

使用文件库中可用的方法对文件执行常规操作。为了读取文件,我们需要首先使用open操作,然后使用read操作,该操作可作为文件库的一部分使用。以下是这两种方法的语法。

语法

  • 打开文件– Open(File,Mode)

  • 读取文件– read(FileHandler,NumberofBytes)

参数

  • File −这是需要打开的文件的位置。

  • Mode −这是需要打开文件的模式。

以下是一些可用的模式-

  • Read −必须存在的文件已打开以进行读取。

  • Write−打开文件进行写入。如果它不存在,则创建它。如果文件存在,并且写与读不结合,则文件将被截断。

  • Append−该文件将被打开以进行写入,如果不存在则将被创建。对用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

此方法用于确定目录是否确实是目录。