Erlang - E / S fichier

Erlang fournit un certain nombre de méthodes lors de l'utilisation d'E / S. Il a des classes plus faciles pour fournir les fonctionnalités suivantes pour les fichiers -

  • Lecture de fichiers
  • Écriture dans des fichiers
  • Voir si un fichier est un fichier ou un répertoire

Méthodes d'opération de fichier dans Erlang

Explorons certaines des opérations sur les fichiers qu'Erlang a à offrir. Pour les besoins de ces exemples, nous allons supposer qu'il existe un fichier appeléNewFile.txt qui contient les lignes de texte suivantes

Example1

Example2

Example3

Ce fichier sera utilisé pour les opérations de lecture et d'écriture dans les exemples suivants.

Lecture du contenu d'un fichier une ligne à la fois

Les opérations générales sur les fichiers sont effectuées en utilisant les méthodes disponibles dans la bibliothèque de fichiers. Pour la lecture des fichiers, nous devrions d'abord utiliser l'opération d'ouverture, puis utiliser l'opération de lecture qui est disponible dans le cadre de la bibliothèque de fichiers. Voici la syntaxe de ces deux méthodes.

Syntaxe

  • Ouverture d'un fichier - Ouvrir (Fichier, Mode)
  • Lecture d'un fichier - lecture (FileHandler, NumberofBytes)

Paramètres

  • File - C'est l'emplacement du fichier qui doit être ouvert.

  • Mode - C'est le mode dans lequel le fichier doit être ouvert.

Voici quelques-uns des modes disponibles -

  • Read - Le fichier, qui doit exister, est ouvert en lecture.

  • Write- Le fichier est ouvert pour l'écriture. Il est créé s'il n'existe pas. Si le fichier existe et si l'écriture n'est pas combinée avec la lecture, le fichier sera tronqué.

  • Append- Le fichier sera ouvert pour l'écriture, et il sera créé s'il n'existe pas. Chaque opération d'écriture dans un fichier ouvert avec append aura lieu à la fin du fichier.

  • Exclusive- Le fichier, lorsqu'il est ouvert pour l'écriture, est créé s'il n'existe pas. Si le fichier existe, open retournera {error, exist}.

  • FileHandler- Il s'agit du descripteur d'un fichier. Cette poignée est celle qui serait renvoyée lorsque lefile:open l'opération est utilisée.

  • NumberofByte - Il s'agit du nombre d'octets d'informations à lire dans le fichier.

Valeur de retour

  • Open(File,Mode) - Renvoie un handle vers le fichier, si l'opération réussit.

  • read(FileHandler,NumberofBytes) - Renvoie les informations de lecture demandées à partir du fichier.

Par exemple

-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 - Lorsque nous exécutons le programme ci-dessus, nous obtiendrons le résultat suivant.

Example1

Voyons maintenant quelques autres méthodes disponibles pour les opérations sur les fichiers -

N ° Sr. Méthode et description
1

file_read

Disponible pour permettre la lecture de tout le contenu d'un fichier à la fois.

2

écrire

Utilisé pour écrire le contenu dans un fichier.

3

copie

utilisé pour faire une copie d'un fichier existant.

4

effacer

Cette méthode est utilisée pour supprimer un fichier existant.

5

list_dir

Cette méthode est utilisée pour lister le contenu d'un répertoire particulier.

6

make_dir

Cette méthode est utilisée pour créer un nouveau répertoire.

sept

Renommer

Cette méthode est utilisée pour renommer un fichier existant.

8

taille du fichier

Cette méthode est utilisée pour déterminer la taille du fichier.

9

is_file

Cette méthode est utilisée pour déterminer si un fichier est bien un fichier.

dix

is_dir

Cette méthode est utilisée pour déterminer si un répertoire est effectivement un répertoire.