Erlang - Arquivo I / O
Erlang fornece vários métodos ao trabalhar com E / S. Possui classes mais fáceis para fornecer as seguintes funcionalidades para arquivos -
- Lendo arquivos
- Gravando em arquivos
- Ver se um arquivo é um arquivo ou diretório
Métodos de operação de arquivo em Erlang
Vamos explorar algumas das operações de arquivo que Erlang tem a oferecer. Para os fins desses exemplos, vamos supor que existe um arquivo chamadoNewFile.txt que contém as seguintes linhas de texto
Example1
Example2
Example3
Este arquivo será usado para as operações de leitura e gravação nos exemplos a seguir.
Ler o conteúdo de um arquivo uma linha de cada vez
As operações gerais em arquivos são realizadas utilizando os métodos disponíveis na biblioteca de arquivos. Para a leitura de arquivos, precisaríamos primeiro usar a operação abrir e, em seguida, usar a operação ler, que está disponível como parte da biblioteca de arquivos. A seguir está a sintaxe para ambos os métodos.
Sintaxe
- Abrindo um arquivo - Abrir (Arquivo, Modo)
- Lendo um arquivo - leia (FileHandler, NumberofBytes)
Parâmetros
File - Este é o local do arquivo que deve ser aberto.
Mode - Este é o modo em que o arquivo deve ser aberto.
A seguir estão alguns dos modos disponíveis -
Read - O arquivo, que deve existir, é aberto para leitura.
Write- O arquivo é aberto para gravação. Ele é criado se não existir. Se o arquivo existir e se a gravação não for combinada com a leitura, o arquivo será truncado.
Append- O arquivo será aberto para escrita e será criado caso ainda não exista. Cada operação de gravação em um arquivo aberto com append ocorrerá no final do arquivo.
Exclusive- O arquivo, quando aberto para escrita, é criado se não existir. Se o arquivo existir, abrir retornará {erro, existe}.
FileHandler- Este é o identificador de um arquivo. Este identificador é aquele que seria retornado quando ofile:open operação é usada.
NumberofByte - Este é o número de bytes de informações que precisam ser lidos do arquivo.
Valor de retorno
Open(File,Mode) - Retorna um identificador para o arquivo, se a operação for bem-sucedida.
read(FileHandler,NumberofBytes) - Retorna as informações de leitura solicitadas do arquivo.
Por exemplo
-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 executarmos o programa acima, obteremos o seguinte resultado.
Example1
Vamos agora discutir alguns outros métodos disponíveis para operações de arquivo -
Sr. Não. | Método e Descrição |
---|---|
1 | file_read Disponível para permitir a leitura de todo o conteúdo de um arquivo de uma só vez. |
2 | Escreva Usado para gravar o conteúdo em um arquivo. |
3 | cópia de usado para fazer uma cópia de um arquivo existente. |
4 | excluir Este método é usado para excluir um arquivo existente. |
5 | list_dir Este método é usado para listar o conteúdo de um diretório específico. |
6 | make_dir Este método é usado para criar um novo diretório. |
7 | renomear Este método é usado para renomear um arquivo existente. |
8 | tamanho do arquivo Este método é usado para determinar o tamanho do arquivo. |
9 | is_file Este método é usado para determinar se um arquivo é realmente um arquivo. |
10 | is_dir Este método é usado para determinar se um diretório é realmente um diretório. |