Operações de Arquivo em C# – Guia Prático
Operações de Arquivo em C# – Guia Prático
Em C# e .NET, trabalhar com arquivos é um requisito comum. Seja para verificar a presença de um arquivo, ler seu conteúdo ou gerenciar cópias, a classe System.IO.File oferece métodos diretos e thread-safe. Abaixo você encontrará explicações concisas e código de exemplo seguindo boas práticas e orientações oficiais da Microsoft.
Ações Básicas de Arquivo
- Leitura – Recuperar dados de um arquivo existente.
- Escrita – Substituir todo o arquivo com novo conteúdo (comportamento padrão).
- Anexar – Adicionar dados ao final de um arquivo sem excluir conteúdo existente.
Métodos Principais Cobertos
File.Exists– Verifica se um arquivo está presente.File.ReadAllLines– Carrega todas as linhas em um array de strings.File.ReadAllText– Carrega o arquivo inteiro em uma única string.File.Copy– Duplica um arquivo para novo local.File.Delete– Remove um arquivo do sistema de arquivos.
Pré-requisitos
Para todos os exemplos, assumimos que um arquivo de texto D:\Example.txt existe com as seguintes duas linhas:
Guru99 – .Net Guru99 – C#
1. Verificando Existência de Arquivo – File.Exists
using System;
using System.IO;
namespace DemoApplication {
class Tutorial {
static void Main(string[] args) {
string path = "D:\\Example.txt";
if (File.Exists(path)) {
Console.WriteLine("Arquivo Existe");
} else {
Console.WriteLine("Arquivo Não Encontrado");
}
Console.ReadKey();
}
}
}
O programa exibe Arquivo Existe quando D:\Example.txt está presente.
2. Lendo Linhas Individualmente – File.ReadAllLines
using System;
using System.IO;
namespace DemoApplication {
class Tutorial {
static void Main(string[] args) {
string path = "D:\\Example.txt";
string[] lines = File.ReadAllLines(path);
foreach (var line in lines) {
Console.WriteLine(line);
}
Console.ReadKey();
}
}
}
Cada linha do arquivo é impressa em uma linha separada do console.
3. Lendo o Arquivo Inteiro – File.ReadAllText
using System;
using System.IO;
namespace DemoApplication {
class Tutorial {
static void Main(string[] args) {
string path = "D:\\Example.txt";
string content = File.ReadAllText(path);
Console.WriteLine(content);
Console.ReadKey();
}
}
}
O console exibe ambas as linhas concatenadas com quebra de linha.
4. Copiando um Arquivo – File.Copy
using System;
using System.IO;
namespace DemoApplication {
class Tutorial {
static void Main(string[] args) {
string source = "D:\\Example.txt";
string destination = "D:\\ExampleNew.txt";
File.Copy(source, destination, overwrite: true);
Console.WriteLine("Cópia bem-sucedida");
Console.ReadKey();
}
}
}
O novo arquivo D:\ExampleNew.txt contém uma cópia exata de Example.txt.
5. Excluindo um Arquivo – File.Delete
using System;
using System.IO;
namespace DemoApplication {
class Tutorial {
static void Main(string[] args) {
string path = "D:\\Example.txt";
File.Delete(path);
Console.WriteLine("Arquivo excluído");
Console.ReadKey();
}
}
}
Após execução, D:\Example.txt é permanentemente removido do drive D.
Resumo
- A classe
System.IO.Filefornece operações essenciais de sistema de arquivos. - Use
File.ReadAllTextouFile.ReadAllLinespara ingerir dados de arquivo em sua aplicação. - Sempre trate exceções como
FileNotFoundExceptionouUnauthorizedAccessExceptionem código de produção.
Linguagem C
- Dominando Declarações Using em C#: Imports, Aliases e Diretivas Estáticas
- Dominando Entrada e Saída (I/O) em C: scanf() e printf() Explicados
- Manipulação de Arquivos em C: Dominando I/O com fopen, fprintf, fread e fseek
- Python File I/O: Dominando Operações de Arquivo, Leitura, Escrita e Gerenciamento
- Axiomtek IPS960‑511‑PoE: Controlador de Visão Robusto All‑In‑One para Inspeção Industrial
- Dominando I/O de Arquivos em C: Criando, Abrindo e Gerenciando Arquivos
- Entendendo Arquivos de Cabeçalho em C: Tipos, Uso e Boas Práticas
- Dominando Tratamento de Erros em C: Boas Práticas e Técnicas
- Dominando Tratamento de Exceções em C#: Estratégias e Boas Práticas
- Dominando I/O de Arquivos em C#: Leitura, Escrita e Gerenciamento de Streams