Дописать текст в конец файла

316
01 ноября 2017, 00:28

Как дописать данные построчно из 1.txt в конец 2.txt не удаляя данные из 1.txt?

File.AppendAllText тут как);
Answer 1

Ну например так:

string readText = File.ReadAllText("путь_до_1.txt");
File.AppendAllText("путь_до_2.txt", readText);
Answer 2

Вот вариант без чтения всего второго файла в память:

File.AppendAllLines("2.txt", File.ReadLines("1.txt"));

AppendAllText требует на вход текст как строку, поэтому эту строку требуется считать в память полностью. Вариант с ReadLines читает файл построчно и пишет по мере чтения. (Впрочем, он тоже не застрахован от очень длинных строк.)

Answer 3

Когда то писал свой велосипед по копированию больших файлов, думаю это может кому-нибудь помочь

// Файл из которого копируется
string pathSource = @"1.txt";
// Файл куда
string pathNew = @"2.txt";
// Размер буфера копирования
var bufferSize = 1024;
using(var stream = new FileStream(pathSource, FileMode.Open, FileAccess.Read))
using(var writeStream = new FileStream(pathNew, FileMode.OpenOrCreate, FileAccess.Write))
{
    // Конец файла
    var endPoint = writeStream.Length;
    // Буфер копирования
    var buffer = new Byte[bufferSize];
    // Байт прочитали
    var bytesRead = 0;
    using(var reader = new StreamReader(stream))
    using(var writer  = new StreamWriter(writeStream)) {
        // Пропускаем все до конца
        writeStream.Seek(endPoint, SeekOrigin.Begin);
        // Пишем блоки
        while ((bytesRead = stream.Read(buffer, 0, bufferSize)) > 0) {
            writeStream.Write(buffer, 0, bytesRead);
        }
    }
}
READ ALSO
C# Чтение и запись потока в одном классе

C# Чтение и запись потока в одном классе

Есть ли вnet класс, который может делать и чтении и запись данных в файл?

201
Как выбрать нужный элемент через js

Как выбрать нужный элемент через js

Делаю парсерЕсть список на сайте

222
Что означает eslint-disable-next-line?

Что означает eslint-disable-next-line?

Потребовалось подключить библиотеку Mansonry в jsСогласно документации, нужно создать объект

282
Обновление большого кол-ва данных в MongoDB

Обновление большого кол-ва данных в MongoDB

Я долгое время использовал реляционные БДВ MySQL, например, я бы использовал конструкцию INSERT IGNORE

211