Working with Files
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
Folha de consulta
Trabalhe com arquivos usando o namespace System.IO. Use StreamWriter para escrever e StreamReader para ler.
Escrevendo em um arquivo:
StreamWriter writer = new StreamWriter("myfile.txt");
writer.WriteLine("Hello, World!");
writer.Close();Lendo de um arquivo:
StreamReader reader = new StreamReader("myfile.txt");
string content = reader.ReadToEnd();
Console.WriteLine(content);
reader.Close();Lendo linha por linha:
StreamReader reader = new StreamReader("myfile.txt");
string line = reader.ReadLine();
Console.WriteLine(line);
reader.Close();Métodos principais:
WriteLine(text)- Escreve uma linha no arquivoReadToEnd()- Lê todo o texto do arquivoReadLine()- Lê uma linha do arquivoClose()- Fecha o arquivo (sempre faça isso!)
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
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety