C # - добавление текстовых файлов - PullRequest
10 голосов
/ 18 июня 2011

У меня есть код, который читает файл и затем преобразует его в строку, затем строка записывается в новый файл, хотя кто-то может продемонстрировать, как добавить эту строку в файл назначения (а не перезаписать ее)

private static void Ignore()
{
    System.IO.StreamReader myFile =
       new System.IO.StreamReader("c:\\test.txt");
    string myString = myFile.ReadToEnd();

    myFile.Close();
    Console.WriteLine(myString);

    // Write the string to a file.
    System.IO.StreamWriter file = new System.IO.StreamWriter("c:\\test2.txt");
    file.WriteLine(myString);

    file.Close();
}

Ответы [ 4 ]

15 голосов
/ 18 июня 2011

Если файл небольшой, вы можете читать и писать в две строки кода.

var myString = File.ReadAllText("c:\\test.txt");
File.AppendAllText("c:\\test2.txt", myString);

Если файл очень большой, вы можете читать и писать построчно:

using (var source = new StreamReader("c:\\test.txt"))
using (var destination = File.AppendText("c:\\test2.txt"))
{
    var line = source.ReadLine();
    destination.WriteLine(line);
}
8 голосов
/ 18 июня 2011
using(StreamWriter file = File.AppendText(@"c:\test2.txt"))
{
    file.WriteLine(myString);
}
5 голосов
/ 18 июня 2011

Использовать File.AppendAllText

File.AppendAllText("c:\\test2.txt", myString)

Также, чтобы прочитать его, вы можете использовать File.ReadAllText , чтобы прочитать его. В противном случае используйте оператор using для удаления потока после завершения работы с файлом.

1 голос
/ 18 июня 2011

Попробуйте

StreamWriter writer = File.AppendText("C:\\test.txt");
writer.WriteLine(mystring);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...