Trabalhando com o sistema de arquivos em C#: guia completo para iniciantes

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Trabalhando com o sistema de arquivos em C#: para iniciantes



Trabalhar com o sistema de arquivos é uma das habilidades essenciais de qualquer desenvolvedor. Em C# (.NET) existem ferramentas poderosas para criar, ler, escrever e excluir arquivos e diretórios. Neste artigo, abordaremos as operações básicas com o sistema de arquivos que serão úteis tanto para iniciantes quanto para programadores experientes. Todos os exemplos são escritos em C# e utilizam o namespace System.IO.



Fundamentos do trabalho com o namespace System.IO



O namespace System.IO contém todas as classes principais para interagir com o sistema de arquivos. Para começar, adicione a seguinte diretiva no início do seu arquivo:



using System.IO;using System; // para Console e outras operações básicas


As principais classes que usaremos:

  • File — métodos estáticos para trabalhar com arquivos (criação, cópia, exclusão).
  • FileInfo — classe de instância para obter informações sobre um arquivo específico.
  • Directory — métodos estáticos para trabalhar com pastas.
  • DirectoryInfo — classe de instância para informações sobre um diretório.
  • Path — utilitários para trabalhar com caminhos.


Vamos examinar cada aspecto na prática.



Criação e escrita em arquivo



A maneira mais simples de criar um arquivo e escrever texto nele é usar o método File.WriteAllText. Ele cria um arquivo (ou sobrescreve um existente) e escreve uma string.



string path = @"C:\\Temp\\example.txt";string content = "Olá, mundo! Este é um arquivo de teste.";

File.WriteAllText(path, content);Console.WriteLine("Arquivo criado e escrito.");


Se precisar escrever várias linhas, use File.WriteAllLines:



string[] lines = { "Primeira linha", "Segunda linha", "Terceira linha" };File.WriteAllLines(path, lines);


Para adicionar dados ao final de um arquivo existente, use File.AppendAllText:



File.AppendAllText(path, "Linha adicionada.");


Leitura de dados de um arquivo



A leitura de arquivos também é intuitiva. O método File.ReadAllText retorna todo o conteúdo como uma única string:



string readContent = File.ReadAllText(path);Console.WriteLine("Conteúdo do arquivo:");Console.WriteLine(readContent);


Se o arquivo consistir em linhas, é mais conveniente usar File.ReadAllLines, que retorna um array de strings:



string[] readLines = File.ReadAllLines(path);foreach (string line in readLines){    Console.WriteLine(line);}


Para arquivos grandes, é melhor usar leitura por fluxo com StreamReader para não carregar todo o arquivo na memória:



using (StreamReader reader = new StreamReader(path)){    string line;    while ((line = reader.ReadLine()) != null)    {        Console.WriteLine(line);    }}


Trabalhando com pastas (diretórios)



Criar, verificar a existência e excluir pastas são tarefas comuns. Veja como fazer isso usando a classe Directory:



string dirPath = @"C:\\Temp\\MyFolder";

// Verificar existênciaif (!Directory.Exists(dirPath)){ Directory.CreateDirectory(dirPath); Console.WriteLine("Pasta criada.");}else{ Console.WriteLine("A pasta já existe.");}

// Excluir pasta (se estiver vazia)if (Directory.Exists(dirPath)){ Directory.Delete(dirPath); Console.WriteLine("Pasta excluída.");}


Para obter a lista de arquivos em uma pasta, use Directory.GetFiles:



string[] files = Directory.GetFiles(@"C:\\Temp");foreach (string file in files){    Console.WriteLine(file);}


Da mesma forma para subp

Blogs

Book Recommendations