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. |