Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Washington L. Morais

Excluir linha de arquivo txt

Recommended Posts

Washington,

 

Abaixo vai um código que faz o que você quer.

Não possível excluir diretamente uma linha de um TXT. Apenas é possível gerando um novo.

Fiz o código todo comentado. Porém se tiver alguma dúvida, me avise.

 

Abraços...

 

//Stream que lerá o arquivo original

StreamReader Leitor = new StreamReader("C:\\ARQUIVOVELHO.TXT");

//Stream que gerará o arquivo modificado

StreamWriter Escreve = new StreamWriter("C:\\ARQUIVONOVO.TXT");

//Variável que recebe a linha lida naquele momento

String Linha = "";

 

//Enquanto não for o final do arquivo original

while (!(Leitor.EndOfStream))

{

//Linhar recebe a linha lida naquela interação

Linha = Leitor.ReadLine();

 

//É aqui que você define se a linha atual será escrita, ou não

//No meu caso, se o trecho da linha for igual a 00001, ignoro a mesma,

//ou seja, "excluo ela do novo arquivo"

if (!(Linha.Substring(0, 5) = "00001"))

{

Escreve.WriteLine(Linha);

}

 

}

//Fecha o stream de leitura

Leitor.Close();

//Fecha o stream de escrita.

//obs: Se não fechar este, o arquivo fica em branco

Escreve.Close();

 

//Deleta o arquivo original

File.Delete("C:\\ARQUIVOVELHO.TXT");

//Copia o arquivo modificado, com o mesmo nome do arquivo original

File.Copy("C:\\ARQUIVONOVO.TXT", "C:\\ARQUIVOVELHO.TXT");

//Exclui um dos arquivos novos, já que este está duplicado.

File.Delete("C:\\ARQUIVONOVO.TXT");

 

//Na verdade fiz o famoso, "CTRL + C, CTRL + V" na mão, já que o framework,

//não possui uma função para o mesmo (ou eu não a encontrei).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.