Existem várias maneiras diferentes de ler e gravar arquivos ( arquivos de texto , não binários) em C #.
Eu só preciso de algo que seja fácil e use a menor quantidade de código, porque eu vou trabalhar muito com arquivos no meu projeto. Eu só preciso de algo, string
pois tudo o que preciso é ler e escrever string
s.
string.Write(filename)
. Por que a solução Microsofts é mais simples / melhor que a minha?"foo".Write(fileName)
pode criar facilmente extensões para fazê-lopublic static Write(this string value, string fileName) { File.WriteAllText(fileName, value);}
e usá-las em seus projetos.Além de
File.ReadAllText
,File.ReadAllLines
eFile.WriteAllText
(e ajudantes similares daFile
classe) mostrados em outra resposta, você pode usarStreamWriter
/StreamReader
classes.Escrevendo um arquivo de texto:
Lendo um arquivo de texto:
Notas:
readtext.Dispose()
vez deusing
, mas ele não fechará o arquivo / leitor / gravador em caso de exceçõesusing
/Close
é um motivo muito comum de "por que os dados não são gravados no arquivo".fonte
using
seus fluxos, como mostrado na outra resposta - stackoverflow.com/a/7571213/477420using System.IO;
usar o StreamWriter e o StreamReader .new StreamWriter("write.txt", true)
ele criará um arquivo se não houver arquivo, ou será anexado ao arquivo existente.fonte
fs
no final?Simples, fácil e também elimina / limpa o objeto quando você terminar.
fonte
A maneira mais fácil de ler e gravar em um arquivo:
fonte
File.WriteAllText
escrever parte?@AlexeiLevenkov me apontou para outra "maneira mais fácil", a saber, o método de extensão . É preciso apenas um pouco de codificação e, em seguida, fornece a maneira mais fácil de ler / gravar, além de oferecer a flexibilidade de criar variações de acordo com suas necessidades pessoais. Aqui está um exemplo completo:
Isso define o método de extensão no
string
tipo. Observe que a única coisa que realmente importa é o argumento da função com palavra-chave extrathis
, que o faz se referir ao objeto ao qual o método está anexado. O nome da classe não importa; a classe e o método devem ser declaradosstatic
.Isto é como usar o
string extension method
, observe que ele se refere automaticamente aclass Strings
:Eu nunca teria encontrado isso sozinho, mas funciona muito bem, então eu queria compartilhar isso. Diverta-se!
fonte
Estes são os métodos melhores e mais usados para gravar e ler arquivos:
A maneira antiga, que me ensinaram na faculdade, era usar o leitor / gravador de stream, mas o File métodos de E / S de são menos desajeitados e exigem menos linhas de código. Você pode digitar "Arquivo". no seu IDE (inclua a instrução de importação System.IO) e veja todos os métodos disponíveis. Abaixo estão exemplos de métodos para leitura / gravação de strings de / para arquivos de texto (.txt.) Usando um aplicativo Windows Forms.
Anexe texto a um arquivo existente:
Obtenha o nome do arquivo do usuário através do diálogo explorador de arquivos / abrir arquivo (você precisará dele para selecionar os arquivos existentes).
Obtenha texto de um arquivo existente:
fonte
Ou, se você realmente gosta de linhas:
System.IO.File também contém um método estático WriteAllLines , para que você possa fazer:
fonte
É bom ao ler usar o controle OpenFileDialog para navegar para qualquer arquivo que você deseja ler. Encontre o código abaixo:
Não se esqueça de adicionar a seguinte
using
instrução para ler arquivos:using System.IO;
Para escrever arquivos que você pode usar o método
File.WriteAllText
.fonte
fonte
Você está procurando os
File
,StreamWriter
eStreamReader
classes.fonte
fonte