C#:
Escrevendo um arquivo de texto
Como fazer:
C# simplifica operações de arquivo com seu namespace System.IO
, oferecendo métodos simples para escrever arquivos de texto. Veja como escrever um arquivo de texto básico e adicionar texto a um arquivo existente.
Escrevendo em um Arquivo de Texto do Zero
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = @"C:\exemplo\ExampleFile.txt";
string conteudo = "Olá, mundo!";
// Escrever o conteúdo em um novo arquivo
File.WriteAllText(filePath, conteudo);
Console.WriteLine("Arquivo escrito com sucesso.");
}
}
Saída de Exemplo:
Arquivo escrito com sucesso.
Adicionando Texto a um Arquivo Existente
Se você deseja adicionar texto ao final de um arquivo existente, pode usar o método File.AppendAllText
.
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = @"C:\exemplo\ExampleFile.txt";
string conteudoAdicional = "\nAdicionando mais conteúdo.";
// Anexar conteúdo ao arquivo
File.AppendAllText(filePath, conteudoAdicional);
Console.WriteLine("Conteúdo anexado com sucesso.");
}
}
Saída de Exemplo:
Conteúdo anexado com sucesso.
Usando Bibliotecas de Terceiros: StreamWriter
Para um controle mais refinado sobre a escrita, incluindo descarga automática e seleção de codificação, use StreamWriter
.
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = @"C:\exemplo\ExampleFile.txt";
string conteudo = "Este é um exemplo usando StreamWriter.";
// Usar StreamWriter para escrever em um arquivo
using (StreamWriter escritor = new StreamWriter(filePath, append: true))
{
escritor.WriteLine(conteudo);
}
Console.WriteLine("Arquivo escrito com StreamWriter com sucesso.");
}
}
Saída de Exemplo:
Arquivo escrito com StreamWriter com sucesso.
Cada uma dessas abordagens atende a necessidades diferentes: métodos diretos de File
para operações rápidas e StreamWriter
para cenários de escrita mais complexos. Escolha com base em suas necessidades específicas, considerando fatores como desempenho e tamanho do arquivo.