Escreva uma string no arquivo de texto e garanta que ele sempre substitua o conteúdo existente.

180

Eu tenho uma seqüência de caracteres com um programa C # que quero gravar em um arquivo e sempre sobrescrever o conteúdo existente. Se o arquivo não estiver lá, o programa deve criar um novo arquivo em vez de lançar uma exceção.

leora
fonte

Respostas:

371
System.IO.File.WriteAllText (@"D:\path.txt", contents);
  • Se o arquivo existir, ele será substituído.
  • Se o arquivo não existir, isso será criado.
  • Verifique se você possui privilégios apropriados para escrever no local, caso contrário você receberá uma exceção.
Hemant
fonte
32

Use o File.WriteAllTextmétodo Ele cria o arquivo se ele não existir e o substitui, se existir.

Guffa
fonte
ah tão simples e útil.
Zach Smith
2

Geralmente, FileMode.Createé o que você está procurando.

Thomas Danecker
fonte
Ele está pedindo um arquivo existente para substituir
sino
0

Se o seu código não exigir que o arquivo seja truncado primeiro, você poderá usar o FileMode.OpenOrCreate para abrir o fluxo de arquivos, que criará o arquivo se ele não existir ou, se existir. Você pode usar o fluxo para apontar para a frente e começar a substituir o arquivo existente?

Suponho que você esteja usando um fluxo aqui, há outras maneiras de escrever um arquivo.

Spence
fonte