Erlang-file-input-output

提供:Dev Guides
移動先:案内検索

Erlang-ファイルI/O

Erlangは、I/Oを操作するときに多くのメソッドを提供します。 ファイルに次の機能を提供するための簡単なクラスがあります-

  • ファイルを読む
  • ファイルへの書き込み
  • ファイルがファイルかディレクトリかを確認する

Erlangのファイル操作メソッド

Erlangが提供するファイル操作のいくつかを見てみましょう。 これらの例の目的のために、次のテキスト行を含む NewFile.txt というファイルがあると想定します。

  • 例1 *
  • 例2 *
  • 例3 *

このファイルは、次の例で読み取りおよび書き込み操作に使用されます。

ファイルの内容を一度に1行ずつ読み取る

ファイルの一般的な操作は、ファイルライブラリで使用可能なメソッドを使用して実行されます。 ファイルを読み込むには、まずopen操作を使用し、次にファイルライブラリの一部として利用可能なread操作を使用する必要があります。 これらの両方のメソッドの構文は次のとおりです。

構文

  • ファイルを開く– Open(File、Mode)
  • ファイルの読み取り– read(FileHandler、NumberofBytes)

パラメーター

  • ファイル-これは、開く必要があるファイルの場所です。
  • モード-これは、ファイルを開く必要があるモードです。

以下は利用可能なモードの一部です-

  • 読み取り-存在する必要があるファイルが読み取り用に開かれます。
  • 書き込み-ファイルは書き込み用に開かれます。 存在しない場合は作成されます。 ファイルが存在し、書き込みが読み取りと組み合わされていない場合、ファイルは切り捨てられます。
  • 追加-ファイルは書き込み用に開かれ、存在しない場合は作成されます。 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

ここで、ファイル操作に使用できる他の方法について説明します-

Sr.No. Method & Description
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

このメソッドは、ディレクトリが実際にディレクトリであるかどうかを判断するために使用されます。