Manipulação de Arquivos em C#:Operações de E/S [Exemplos]
C# tem uma grande variedade de operações de arquivo. Essas operações incluem abrir um arquivo, ler ou gravar em um arquivo. Pode haver instâncias em que você deseja trabalhar com arquivos diretamente; nesse caso, você usaria as operações de arquivo disponíveis em C#. Algumas das operações básicas de arquivo são mencionadas abaixo.
- Leitura – Esta operação é a operação de leitura básica em que os dados são lidos de um arquivo.
- Gravação – Esta operação é a operação básica de gravação em que os dados são gravados em um arquivo. Por padrão, todo o conteúdo existente é removido do arquivo e o novo conteúdo é gravado.
- Anexando – Esta operação também envolve a gravação de informações em um arquivo. A única diferença é que os dados existentes em um arquivo não são substituídos. Os novos dados a serem gravados são adicionados no final do arquivo.
Neste tutorial, você aprenderá-
- Arquivo.Existe
- Arquivo.ReadAlllines
- Arquivo.ReadAllText
- Arquivo.Copiar
- Arquivo.Excluir
Comandos básicos de E/S
C# e .Net podem trabalhar com arquivos com a ajuda de vários comandos File I/O. Vejamos alguns desses comandos. Para o nosso exemplo, vamos supor que temos um arquivo na unidade D chamado Example.txt.
O arquivo será um arquivo de texto simples e terá 2 linhas conforme mostrado abaixo
- Guru99 – .Net
- Guru99 -C#
Para nosso exemplo, criaremos um aplicativo de console simples e trabalharemos com nossos comandos de E/S de arquivo. O aplicativo de console é o básico que foi criado no tutorial anterior. No aplicativo de console, todo o código é gravado no arquivo program.cs.
Arquivo.Existe
O método Arquivo existe é usado para verificar se um arquivo específico existe. Então agora vamos ver o código que pode ser usado para verificar se nosso arquivo Example.txt existe ou não. Digite o código abaixo no arquivo program.cs.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; if (File.Exists(path)) { Console.WriteLine("File Exists"); } Console.ReadKey(); } } }
Explicação do código:-
- Primeiro, estamos definindo uma variável de string com o caminho para nosso arquivo Example.txt.
- Em seguida, usamos o método File.Exists para verificar se o arquivo existe ou não. Se o arquivo existir, um valor verdadeiro será retornado.
- Se obtivermos um valor verdadeiro e o arquivo existir, escreveremos a mensagem "O arquivo existe" no console.
Quando o código acima estiver definido e o projeto for executado usando o Visual Studio, você obterá a saída abaixo.
Saída:-
A partir da saída acima, você pode ver que o comando File.Exists foi executado com sucesso e a mensagem correta foi exibida na janela do console.
Arquivo.ReadAlllines
O método é usado para ler todas as linhas uma a uma em um arquivo. As linhas são então armazenadas em uma variável de array de string. Vejamos um exemplo. Digite o código abaixo no arquivo program.cs.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String[] lines; lines = File.ReadAllLines(path); Console.WriteLine(lines[0]); Console.WriteLine(lines[1]); Console.ReadKey(); } } }
Explicação do código:-
- Primeiro, estamos declarando uma variável de array de string. Isso será usado para armazenar o resultado que será retornado pelo método File.ReadAllLines.
- Em seguida, usamos o método File.ReadAllLines para ler todas as linhas do nosso arquivo de texto. O resultado é então passado para a variável lines.
- Como sabemos que nosso arquivo contém apenas 2 linhas, podemos acessar o valor das variáveis do array por meio do comando lines[0] e lines[1].
Quando o código acima estiver definido e o projeto for executado usando o Visual Studio, você obterá a saída abaixo.
Saída:-
A partir da saída, você pode ver que o comando File.ReadAllLines retornou ambas as linhas do nosso arquivo Example.txt
Arquivo.ReadAllText
Este método é usado para ler todas as linhas de um arquivo de uma só vez. As linhas são então armazenadas em uma variável de string. Vejamos um exemplo. Digite o código abaixo no arquivo program.cs.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String lines; lines = File.ReadAllText(path); Console.WriteLine(lines); Console.ReadKey(); } } }
Explicação do código:-
- Primeiro, estamos declarando uma variável string chamada Lines. Isso será usado para armazenar o resultado que será retornado pelo método File.ReadAllText.
- Em seguida, usamos o método File.ReadAllText para ler todas as linhas do nosso arquivo de texto. O resultado é então passado para a variável lines.
- Podemos usar diretamente o método Console.Writeline para exibir o valor da variável Lines.
Quando o código acima estiver definido e o projeto for executado usando o Visual Studio, você obterá a saída abaixo.
Saída:-
A partir da saída, você pode ver que o comando File.ReadAlltext retornou ambas as linhas do nosso arquivo Example.txt
Arquivo.Copiar
O método é usado para fazer uma cópia de um arquivo existente. Vejamos um exemplo. Digite o código abaixo no arquivo program.cs.
using System; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String copypath = @"D:\ExampleNew.txt"; File.Copy(path,copypath); Console.ReadKey(); } } }
Explicação do código:-
- Primeiro, estamos declarando uma variável de string chamada path. Este será o local do nosso arquivo Example.txt. Este arquivo será o arquivo de origem usado para a operação de cópia.
- Em seguida, estamos declarando uma variável string chamada copypath. Este será o local de um novo arquivo chamado arquivo ExampleNew.txt. Este será o arquivo de destino no qual o conteúdo será gravado a partir do arquivo de origem Example.txt.
- Em seguida, chamamos o método File.Copy para copiar o arquivo Example.txt para o arquivo ExampleNew.txt.
Quando o código acima estiver definido e o projeto for executado usando o Visual Studio, o arquivo Example.txt será copiado para ExampleNew.txt.
Arquivo.Excluir
O método é usado para excluir um arquivo existente. Vejamos um exemplo. Digite o código abaixo no arquivo program.cs.
using System; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; File.Delete(path); Console.ReadKey(); } } }
Explicação do código:-
- Primeiro, estamos declarando uma variável de string chamada path. Este será o local do nosso arquivo Example.txt. Este é o arquivo que será excluído.
- Em seguida, estamos chamando o método File.Delete para excluir o arquivo.
Quando o código acima estiver definido e o projeto for executado usando o Visual Studio, o arquivo Example.txt será excluído da unidade D.
Resumo
- C# tem várias operações de arquivo que podem ser executadas em arquivos. A maioria dessas operações faz parte da classe File.
- Se você deseja ler dados de um arquivo, pode usar os métodos File.ReadAlltext ou File.ReadAllLines.
Linguagem C