System.IO (caminhos, fluxos)
Use os auxiliares de Path, verifique a existência e leia ou escreva texto com StreamReader/StreamWriter usando a instrução using.
System.IO (caminhos, fluxos) é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 3 aulas no total.
Introdução a System.IO
Objetivo: Ler e gravar arquivos com segurança.
- Construa caminhos com Path
- Verifique usando File/Directory
- Use StreamReader/StreamWriter em um bloco using
Noções básicas de Path
Use Path.Combine e métodos semelhantes para evitar separadores manuais e examinar as partes de um caminho.
using System;
using System.IO;
public class Program
{
public static void Main(string[] args)
{
// Build a safe path (handles separators)
string folder = "data";
string file = "notes.txt";
string path = Path.Combine(folder, file);
Console.WriteLine("File name: " + Path.GetFileName(path));
Console.WriteLine("Directory: " + Path.GetDirectoryName(path));
Console.WriteLine("Full path: " + Path.GetFullPath(path));
}
}
Criar e gravar
Use Directory.CreateDirectory (é seguro mesmo que já exista) e File.WriteAllText para arquivos pequenos.
using System;
using System.IO;
public class Program
{
public static void Main(string[] args)
{
string folder = "data";
if (!Directory.Exists(folder))
{
Directory.CreateDirectory(folder); // create if missing
}
string path = Path.Combine(folder, "hello.txt");
// Simple one-shot write
File.WriteAllText(path, "Hello file!");
Console.WriteLine("Wrote: " + path);
}
}
Leitura segura
Coloque os leitores em um bloco using. O identificador do arquivo é liberado mesmo que ocorra uma exceção.
using System;
using System.IO;
public class Program
{
public static void Main(string[] args)
{
string path = Path.Combine("data", "hello.txt");
if (File.Exists(path))
{
using (StreamReader r = new StreamReader(path))
{
string content = r.ReadToEnd(); // read all
Console.WriteLine("Content: " + content);
} // Dispose closes the file
}
else
{
Console.WriteLine("Missing file: " + path);
}
}
}
Gravação segura
StreamWriter grava texto. Passe append=true para adicionar linhas sem substituir o conteúdo existente.
using System;
using System.IO;
public class Program
{
public static void Main(string[] args)
{
string path = Path.Combine("data", "log.txt");
// Append = true so we keep old content
using (StreamWriter w = new StreamWriter(path, true))
{
w.WriteLine(DateTime.UtcNow.ToString("u") + " - started");
w.WriteLine("Work done");
} // closed here
Console.WriteLine("Appended to log: " + path);
}
}
Verificações e dicas
Dicas:
- Verifique File.Exists/Directory.Exists antes de usar.
- Capture IOException para erros de E/S e informe uma mensagem clara.
- Prefira using para todos os fluxos.
Regra de segurança dos fluxos
Recapitulação
Recapitulação: construa caminhos com Path, verifique a existência e sempre coloque leitores e gravadores em um bloco using para uma limpeza segura.
Perguntas Frequentes
A aula “System.IO (caminhos, fluxos)” é grátis?
Sim — o texto completo de “System.IO (caminhos, fluxos)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 3 aulas no total.
O que vou aprender em “System.IO (caminhos, fluxos)”?
Use os auxiliares de Path, verifique a existência e leia ou escreva texto com StreamReader/StreamWriter usando a instrução using. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C# Academy?
Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.
Quanto tempo leva a aula “System.IO (caminhos, fluxos)”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C# Academy?
Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- System.IO (caminhos, fluxos)
- JSON com System.Text.Json (adesão explícita, conversores)
- Padrões simples de análise de CSV