Editar uma linha específica de um arquivo de texto em c #
Eu tenho dois arquivos de texto, Source.txt e Target.txt. A fonte nunca será modificada e contém N linhas de texto. Então, eu quero excluir uma linha específica de texto em Target.txt, e substituir por uma linha específica de texto do Source.txt, eu sei o número de linha que eu preciso, na verdade, é o número da linha 2, ambos os arquivos.
Eu tenho algo assim:
string line = string.Empty;
int line_number = 1;
int line_to_edit = 2;
using (StreamReader reader = new StreamReader(@"C:\source.xml"))
{
using (StreamWriter writer = new StreamWriter(@"C:\target.xml"))
{
while ((line = reader.ReadLine()) != null)
{
if (line_number == line_to_edit)
{
writer.WriteLine(line);
}
line_number++;
}
}
}
Mas quando eu abro o Writer, o arquivo de destino é apagado, ele escreve as linhas, mas, quando aberto, o arquivo de destino contém apenas as linhas copiadas, o resto se perde.
O que eu posso fazer?