Como ler arquivos na linguagem ferrugem

Como ler arquivos na linguagem ferrugem
A capacidade e a funcionalidade de ler arquivos são tão simples quanto clicar em um botão em uma interface gráfica. Embora a implementação de operações de leitura de arquivos em um programa não seja tão simples quanto um clique de botão, é relativamente fácil.

Olá Rustaceans! Este guia ensinará você a ler arquivos usando a linguagem de programação de ferrugem.

Arquivo de amostra

Embora você possa ler um arquivo armazenado em qualquer local do seu sistema de arquivos, para ilustração, manteremos nosso arquivo de amostra no diretório de trabalho atual.

Comece gerando um novo projeto como:

$ cargo new rust_read_file

Em seguida, navegue para o diretório como:

$ CD rust_read_file/src

Dentro do diretório SRC, crie um arquivo de teste de amostra.

$ touch amostra.TXT
eco "oi, estou dentro da amostra.arquivo txt "> amostra.TXT

Os comandos anteriores criarão um novo arquivo de texto e o escreverão na amostra.arquivo txt.

Leia o arquivo como uma string

O método mais simples de ler um arquivo é lê -lo como uma string. Este método carrega o conteúdo do arquivo na memória e permite manipular o arquivo.

Podemos fazer isso usando o método read_to_string no módulo de leitura do pacote de IO. Um exemplo é fornecido abaixo:

use std :: fs :: arquivo;
Use std :: io :: leia;
fn main ()
Deixe o arquivo mut = arquivo :: aberto ("amostra.TXT")
.Espere ("Arquivo de abertura de erro");
deixe mut data = string :: new ();
arquivo.read_to_string (e dados mut)
.espera ("arquivo de leitura de erro");
println!("", dados);

No código anterior, começamos a importar os módulos necessários para manusear arquivos. Isso inclui o FS :: File e IO :: Leia da biblioteca padrão.

A primeira declaração na função principal cria uma alça mutável para o arquivo que desejamos abrir. Fazemos isso usando o arquivo :: Open Method e passamos o nome do arquivo como o argumento.

A segunda declaração contém uma variável mutável contendo os dados do arquivo. Criamos isso como uma string vazia para a qual podemos carregar os dados do arquivo.

Por fim, chamamos o método read_to_string para ler o arquivo e passar uma referência mutável à variável de dados. Isso escreverá o conteúdo do arquivo na string vazia.

Em seguida, podemos imprimir o conteúdo do arquivo usando o println! método.

Executar o código anterior deve retornar o conteúdo na amostra.TXT

$ Cargo Run

Oi estou dentro da amostra.TXT

Leia a linha de arquivo por linha

Podemos ler uma linha de arquivo por linha usando o método lines (). Considere o código de exemplo mostrado abaixo:

use std :: fs :: arquivo;
use std :: io :: bufreader;
Use std :: io :: prelude ::*;
fn main () -> std :: io :: resultado<()>
Deixe o arquivo = arquivo :: aberto ("amostra.TXT")
.Espere ("Arquivo de abertura de erro");
Deixe o Mut Reader = Bufreader :: new (arquivo);
para linha no leitor.linhas ()
println!("", linha?);

OK(());

O código anterior usa o método File :: Open () para ler a amostra.TXT. A linha a seguir cria um leitor mutável usando o Bufreader :: New e passa o objeto de arquivo. Em seguida, iteramos as linhas no arquivo e imprimimos o conteúdo.

Conclusão

Neste artigo, abordamos dois principais métodos de leitura de arquivos na linguagem de programação de ferrugem. Embora o código implementado neste artigo funcione muito bem para arquivos pequenos, ele pode rapidamente se tornar complexo com arquivos extensos. Portanto, considere organizar as operações de leitura em funções independentes. Isso pode ajudar a reduzir a carga na função principal. Esperamos que você tenha achado este artigo útil. Verifique os outros artigos de dica do Linux para obter mais dicas e informações.