Aprenda a ler e gravar em arquivos de texto no Rust.

O alto desempenho e a segurança da memória do Rust, combinados com o suporte para expressões regulares e E/S eficiente de arquivos operações, permitem processamento de texto e dados convincentes, tornando o Rust uma excelente linguagem para trabalhar com texto arquivos.

Os arquivos de texto são uma fonte de dados compartilhada para aplicativos e o Rust fornece um conjunto robusto de ferramentas para trabalhar com arquivos de texto na biblioteca padrão.

Trabalhando com arquivos de texto em Rust

A biblioteca padrão do Rust fornece vários módulos para leitura, gravação e manipulação de arquivos, incluindo arquivos de texto.

Trabalhar com arquivos de texto no Rust envolve ler dados de um arquivo, usar os dados na memória e, em seguida, gravar os dados modificados de volta no arquivo.

Rust fornece o built-in fs módulo para trabalhar com arquivos e o sistema de arquivos. O fs O módulo fornece funções e tipos que você pode usar para abrir, ler, gravar e manipular arquivos e diretórios, incluindo arquivos de texto.

Funções populares no fs módulo inclui o fs:: Arquivo:: abrir função para abrir arquivos para operações de leitura, o fs:: Arquivo:: criar para a criação de arquivos, e o fs:: escreva função para gravar dados em arquivos.

O fs O módulo também fornece funções como o fs:: remove_file função para excluir arquivos, o fs:: create_dir função para criar diretórios, e o fs:: read_dir função para ler arquivos em um diretório.

O fs módulo é versátil, e você pode usar o fs módulo para trabalhar com a maioria dos tipos de arquivo, incluindo arquivos de texto.

Lendo arquivos de texto em Rust

Você tem que abrir um arquivo de texto para ler o arquivo. Você usará o fs:: Arquivo:: abrir função para abrir o arquivo antes da operação de leitura.

Execute estes comandos para criar um arquivo de texto e escreva uma frase no arquivo de sua linha de comando.

toque em input.txt

echo "Somos entusiastas de tecnologia com a missão de ensinar ao mundo como usar e entender a tecnologia em suas vidas. Telefones, laptops, gadgets, aplicativos, software, sites, serviços, se isso pode tornar sua vida melhor, mostraremos todas as dicas, truques e técnicas que você precisa saber para aproveitar ao máximo o que você tem." > input.txt

Agora que você tem um arquivo de texto existente com conteúdo para a operação de leitura, pode escrever código Rust para ler o conteúdo do arquivo.

Veja como você pode ler a partir do input.txt arquivo:

usar std:: fs:: Arquivo;
usar std:: io::{BufRead, BufReader};

fnprincipal() -> padrão:: io::Resultado {
// Abre o arquivo para leitura
deixar arquivo = Arquivo:: abrir("entrada.txt")?;

// Cria um leitor em buffer para ler o arquivo
deixar leitor = BufReader:: novo (arquivo);

// Lê o arquivo linha por linha
para linha em leitor.linhas() {
println!("{}", linha?);
}

OK(())
}

O principal função retorna o resultado da operação. O arquivo variável é a instância de arquivo aberto que o novo função do BufReadName módulo leva para criar um leitor de buffer para ler o arquivo.

A estrutura de controle do loop for percorre o arquivo e imprime cada linha do arquivo no console com o println! macro.

Escrevendo em arquivos de texto em Rust

Você precisará criar um novo arquivo com o fs:: Arquivo:: criar função (se o arquivo não existir) para gravar em um arquivo de texto.

Veja como você pode criar e escrever arquivos de texto no Rust:

usar std:: fs:: Arquivo;
usar std:: io::{BufWriter, Write};

fnprincipal() -> padrão:: io::Resultado {
// Cria um novo arquivo para escrita
deixar arquivo = Arquivo:: criar("output.txt")?;

// Cria um gravador em buffer para gravar no arquivo
deixarmudo escritor = BufWriter:: novo (arquivo);

// Escreve alguns dados no arquivo
escritor.write_all(b"Olá, mundo!\n")?;
escritor.write_all(b"A ferrugem é incrível.\n")?;

// Libera o gravador para garantir que todos os dados sejam gravados no disco
escritor.flush()?;

println!("Operação de gravação bem-sucedida");
OK(())
}

O arquivo variável é uma instância do criado output.txt arquivo, e o escritor variável é uma instância do gravador em buffer para gravar no arquivo.

O escreva_tudo função grava dados no arquivo, e o rubor função libera o gravador.

Aqui está o resultado da execução da função principal:

Você pode usar arquivos de texto para várias operações

Os arquivos de texto são leves e úteis para várias finalidades, desde arquivos de configuração até troca de dados, registro e processamento de texto. Ao criar aplicativos em Rust ou qualquer outra linguagem de programação como Go, você pode explorar outros casos de uso para arquivos de texto para facilitar seus fluxos de trabalho de desenvolvimento.