- Открыть файл B в режиме добавления.
- Одновременное чтение блока подходящего размера из файла A и запись его в файл B.
Таким образом, вы будете читать все содержимое файла A в память, но не сразу. Нужно выбрать подходящий размер блока, и я бы порекомендовал что-то довольно большое, если у вас есть свободное ОЗУ. Большой размер блока минимизирует количество вызовов ОС. Попробуйте 1 МБ (если вы находитесь в типичной среде рабочего стола, это должно быть хорошо).