Erlang - File I / O

Erlang fornisce una serie di metodi quando si lavora con I / O. Ha classi più semplici per fornire le seguenti funzionalità per i file:

  • Lettura di file
  • Scrittura su file
  • Verificare se un file è un file o una directory

Metodi di funzionamento dei file in Erlang

Esploriamo alcune delle operazioni sui file che Erlang ha da offrire. Ai fini di questi esempi, assumeremo che esista un file chiamatoNewFile.txt che contiene le seguenti righe di testo

Example1

Example2

Example3

Questo file verrà utilizzato per le operazioni di lettura e scrittura nei seguenti esempi.

Leggere il contenuto di un file una riga alla volta

Le operazioni generali sui file vengono eseguite utilizzando i metodi disponibili nella libreria dei file. Per la lettura dei file, dovremmo prima utilizzare l'operazione di apertura e quindi utilizzare l'operazione di lettura che è disponibile come parte della libreria di file. Di seguito è riportata la sintassi per entrambi questi metodi.

Sintassi

  • Apertura di un file - Apri (File, Modalità)
  • Lettura di un file - lettura (FileHandler, NumberofBytes)

Parametri

  • File - Questa è la posizione del file che deve essere aperto.

  • Mode - Questa è la modalità in cui il file deve essere aperto.

Di seguito sono riportate alcune delle modalità disponibili:

  • Read - Il file, che deve esistere, viene aperto per la lettura.

  • Write- Il file viene aperto per la scrittura. Viene creato se non esiste. Se il file esiste e se write non è combinato con read, il file verrà troncato.

  • Append- Il file verrà aperto per la scrittura e verrà creato se non esiste. Ogni operazione di scrittura su un file aperto con append verrà eseguita alla fine del file.

  • Exclusive- Il file, quando viene aperto in scrittura, viene creato se non esiste. Se il file esiste, open restituirà {errore, esiste}.

  • FileHandler- Questo è l'handle di un file. Questo handle è quello che verrebbe restituito quando il filefile:open viene utilizzata l'operazione.

  • NumberofByte - Questo è il numero di byte di informazioni che devono essere letti dal file.

Valore di ritorno

  • Open(File,Mode) - Restituisce un handle al file, se l'operazione ha esito positivo.

  • read(FileHandler,NumberofBytes) - Restituisce le informazioni di lettura richieste dal file.

Per esempio

-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 - Quando eseguiamo il programma di cui sopra, otterremo il seguente risultato.

Example1

Parliamo ora di alcuni altri metodi disponibili per le operazioni sui file:

Sr.No. Metodo e descrizione
1

file_read

Disponibile per consentire la lettura di tutti i contenuti di un file contemporaneamente.

2

Scrivi

Utilizzato per scrivere il contenuto su un file.

3

copia

utilizzato per creare una copia di un file esistente.

4

Elimina

Questo metodo viene utilizzato per eliminare un file esistente.

5

list_dir

Questo metodo viene utilizzato per elencare i contenuti di una determinata directory.

6

make_dir

Questo metodo viene utilizzato per creare una nuova directory.

7

rinominare

Questo metodo viene utilizzato per rinominare un file esistente.

8

dimensione del file

Questo metodo viene utilizzato per determinare la dimensione del file.

9

is_file

Questo metodo viene utilizzato per determinare se un file è effettivamente un file.

10

is_dir

Questo metodo viene utilizzato per determinare se una directory è effettivamente una directory.