Trabalhando com Arquivos
Parte da seção Lógica & Fluxo do Journey de C# da Coddy. Lição 26 de 66.
Em C#, você pode trabalhar com arquivos usando classes do namespace System.IO. As duas principais classes para arquivos de texto são StreamReader (para leitura) e StreamWriter (para escrita).
Escrevendo em um arquivo:
using System.IO;
// Create a StreamWriter to write to a file
StreamWriter writer = new StreamWriter("myfile.txt");
// Write text to the file
writer.WriteLine("Hello, World!");
writer.WriteLine("This is line 2");
// Close the file
writer.Close();Lendo de um arquivo:
using System.IO;
// Create a StreamReader to read from a file
StreamReader reader = new StreamReader("myfile.txt");
// Read all content from the file
string content = reader.ReadToEnd();
Console.WriteLine(content);
// Close the file
reader.Close();Lendo linha por linha:
StreamReader reader = new StreamReader("myfile.txt");
// Read first line
string line1 = reader.ReadLine();
Console.WriteLine(line1);
// Read second line
string line2 = reader.ReadLine();
Console.WriteLine(line2);
reader.Close();Lembre-se de sempre fechar seus arquivos com Close() quando terminar!
Desafio
FácilCrie um método chamado ReadFile que:
- Recebe um parâmetro string:
filename - Lê o conteúdo do arquivo usando
StreamReader - Imprime o conteúdo no console
- Fecha o leitor
Experimente você mesmo
using System;
using System.IO;
class Program
{
public static void ReadFile(string filename)
{
// Escreva seu código aqui
}
static void Main(string[] args)
{
string filename = Console.ReadLine();
ReadFile(filename);
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica & Fluxo
1Matrizes Multidimensionais
Noções Básicas de Matrizes 2DDeclaração e Inicialização de Matrizes 2DAcesso aos Elementos de Matrizes 2DLoops Aninhados com Matrizes 2DMatrizes IrregularesOperações Comuns com MatrizesRevisão - Multidimensional4Técnicas de Controle de Fluxo
Retornos AntecipadosCláusulas de GuardaInstruções de Salto (goto)Break e ContinueSimplificando Condicionais Aninhadas7Operadores Lógicos Avançados
Avaliação de Curto-CircuitoOperadores Lógicos CondicionaisPrecedência de OperadoresRevisão - Operadores Avançados2Tomada de Decisões Avançada
Múltiplas CondiçõesLógica Booleana ComplexaComparação entre If e SwitchInstruções Switch AninhadasRevisão - Decisões Avançadas5Tratamento de Exceções
Noções básicas de Try-CatchTipos de ExceçãoMúltiplos blocos CatchTrabalhando com ArquivosBloco FinallyUsando Using vs. Try-FinallyExceções PersonalizadasRecapitulação - Tratamento de Erros3Aprimoramentos de Loops
Desempenho de LoopsIteração de Estruturas ComplexasCada Tipo de LoopRefatoração de LoopsRevisão - Loops Otimizados6Tratamento de Nulos
Fundamentos de Referências NulasTipos de Valor AnuláveisPadrões de Verificação de NulosProgramação DefensivaRecapitulação — Segurança contra NulosPratique por conta própria: Compilador de C# online