Erlang - File I / O
Erlang zapewnia wiele metod pracy z I / O. Ma łatwiejsze klasy, które zapewniają następujące funkcje dla plików -
- Czytanie plików
- Pisanie do plików
- Sprawdzanie, czy plik jest plikiem lub katalogiem
Metody obsługi plików w Erlang
Przyjrzyjmy się niektórym operacjom na plikach, które ma do zaoferowania Erlang. Na potrzeby tych przykładów założymy, że istnieje plik o nazwieNewFile.txt który zawiera następujące wiersze tekstu
Example1
Example2
Example3
Ten plik zostanie użyty do operacji odczytu i zapisu w poniższych przykładach.
Czytanie zawartości pliku po jednym wierszu na raz
Ogólne operacje na plikach są wykonywane przy użyciu metod dostępnych w bibliotece plików. Do odczytu plików musielibyśmy najpierw użyć operacji otwierania, a następnie operacji odczytu, która jest dostępna jako część biblioteki plików. Poniżej znajduje się składnia obu tych metod.
Składnia
- Otwieranie pliku - Otwórz (plik, tryb)
- Odczytywanie pliku - odczyt (FileHandler, NumberofBytes)
Parametry
File - To jest lokalizacja pliku, który należy otworzyć.
Mode - To jest tryb, w którym plik musi zostać otwarty.
Poniżej przedstawiono niektóre z dostępnych trybów -
Read - Plik, który musi istnieć, zostaje otwarty do odczytu.
Write- Plik zostaje otwarty do zapisu. Powstaje, jeśli nie istnieje. Jeśli plik istnieje i zapis nie jest połączony z odczytem, plik zostanie obcięty.
Append- Plik zostanie otwarty do zapisu i zostanie utworzony, jeśli nie istnieje. Każda operacja zapisu do pliku otwartego za pomocą append będzie miała miejsce na końcu pliku.
Exclusive- Plik po otwarciu do zapisu jest tworzony, jeśli nie istnieje. Jeśli plik istnieje, open zwróci {błąd, istnieje}.
FileHandler- To jest uchwyt do pliku. Ten uchwyt jest tym, który zostałby zwrócony, gdy plikfile:open operacja jest używana.
NumberofByte - Jest to liczba bajtów informacji, które należy odczytać z pliku.
Wartość zwracana
Open(File,Mode) - Zwraca uchwyt do pliku, jeśli operacja się powiedzie.
read(FileHandler,NumberofBytes) - Zwraca żądane informacje o odczycie z pliku.
Na przykład
-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 - Po uruchomieniu powyższego programu otrzymamy następujący wynik.
Example1
Omówmy teraz inne metody dostępne dla operacji na plikach -
Sr.No. | Metoda i opis |
---|---|
1 | file_read Dostępne, aby umożliwić jednoczesny odczyt całej zawartości pliku. |
2 | pisać Służy do zapisywania zawartości do pliku. |
3 | Kopiuj służy do tworzenia kopii istniejącego pliku. |
4 | usunąć Ta metoda służy do usuwania istniejącego pliku. |
5 | list_dir Ta metoda służy do wyświetlania listy zawartości określonego katalogu. |
6 | make_dir Ta metoda służy do tworzenia nowego katalogu. |
7 | Przemianować Ta metoda służy do zmiany nazwy istniejącego pliku. |
8 | rozmiar pliku Ta metoda służy do określenia rozmiaru pliku. |
9 | is_file Ta metoda służy do określenia, czy plik jest rzeczywiście plikiem. |
10 | is_dir Ta metoda służy do określenia, czy katalog rzeczywiście jest katalogiem. |