📜  Erlang-文件I / O

📅  最后修改于: 2020-11-04 05:53:34             🧑  作者: Mango


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

  • 读取文件
  • 写入文件
  • 查看文件是文件还是目录

Erlang中的文件操作方法

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

例1

例2

例子3

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

一次读取一行文件的内容

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

句法

  • 打开文件–打开(文件,模式)
  • 读取文件–读取(FileHandler,NumberofBytes)

参量

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

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

以下是一些可用的模式-

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

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

  • 追加-将打开文件进行写入,如果不存在,则将创建该文件。对通过append打开的文件进行的所有写操作都将在文件末尾进行。

  • 互斥-打开该文件进行写入时,如果该文件不存在,则会创建该文件。如果文件存在,则open将返回{错误,存在}。

  • 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

现在让我们讨论文件操作可用的其他方法-

Sr.No. Method & Description
1

file_read

Available to allow the reading of all the contents of a file at one time.

2

write

Used to write the contents to a file.

3

copy

used to make a copy of an existing file.

4

delete

This method is used to delete an existing file.

5

list_dir

This method is used to list down the contents of a particular directory.

6

make_dir

This method is used to create a new directory.

7

rename

This method is used to rename an existing file.

8

file_size

This method is used to determine the size of the file.

9

is_file

This method is used to determine if a file is indeed a file.

10

is_dir

This method is used to determine if a directory is indeed a directory.