Erlang-ファイルI / O
Erlangは、I / Oを操作するときにいくつかの方法を提供します。ファイルに次の機能を提供するためのより簡単なクラスがあります-
- ファイルの読み取り
- ファイルへの書き込み
- ファイルがファイルかディレクトリかを確認する
アーランのファイル操作方法
Erlangが提供しなければならないファイル操作のいくつかを調べてみましょう。これらの例の目的のために、というファイルがあると仮定します。NewFile.txt 次のテキスト行が含まれています
Example1
Example2
Example3
このファイルは、次の例の読み取りおよび書き込み操作に使用されます。
ファイルの内容を一度に1行ずつ読み取る
ファイルの一般的な操作は、ファイルライブラリで使用可能なメソッドを使用して実行されます。ファイルの読み取りには、最初にopen操作を使用してから、ファイルライブラリの一部として使用できる読み取り操作を使用する必要があります。以下は、これら両方のメソッドの構文です。
構文
- ファイルを開く– Open(File、Mode)
- ファイルの読み取り– read(FileHandler、NumberofBytes)
パラメーター
File −これは開く必要のあるファイルの場所です。
Mode −これはファイルを開く必要があるモードです。
以下は利用可能なモードのいくつかです-
Read −存在する必要のあるファイルは、読み取り用に開かれます。
Write−ファイルは書き込み用に開かれます。存在しない場合に作成されます。ファイルが存在し、書き込みと読み取りが組み合わされていない場合、ファイルは切り捨てられます。
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]).
Output −上記のプログラムを実行すると、次の結果が得られます。
Example1
ここで、ファイル操作に使用できる他のいくつかの方法について説明しましょう。
シニア番号 | 方法と説明 |
---|---|
1 | file_read ファイルのすべての内容を一度に読み取ることができます。 |
2 | 書く 内容をファイルに書き込むために使用されます。 |
3 | コピー 既存のファイルのコピーを作成するために使用されます。 |
4 | 削除 このメソッドは、既存のファイルを削除するために使用されます。 |
5 | list_dir このメソッドは、特定のディレクトリの内容を一覧表示するために使用されます。 |
6 | make_dir このメソッドは、新しいディレクトリを作成するために使用されます。 |
7 | 名前を変更 このメソッドは、既存のファイルの名前を変更するために使用されます。 |
8 | ファイルサイズ このメソッドは、ファイルのサイズを決定するために使用されます。 |
9 | is_file このメソッドは、ファイルが実際にファイルであるかどうかを判別するために使用されます。 |
10 | is_dir このメソッドは、ディレクトリが実際にディレクトリであるかどうかを判断するために使用されます。 |