Хоча технічно це не відповідає безпосередньо на поставлене запитання, воно відповідає на питання, як зробити те, що хотів зробити оригінальний плакат: комбінувати файли. Якщо що, це повідомлення, яке допоможе новачкам зрозуміти, про що говорять про Інстанцію Мисливця та Костянтина.
Це метод, який я використовую для комбінування файлів (у цьому випадку jpg та zip). Зауважте, що я створюю буфер, який заповнюється вмістом zip-файлу (невеликими шматками, а не однією великою операцією читання), а потім буфер записується на задню частину jpg-файлу до кінця zip-файлу. досяг:
private void CombineFiles(string jpgFileName, string zipFileName)
{
using (Stream original = new FileStream(jpgFileName, FileMode.Append))
{
using (Stream extra = new FileStream(zipFileName, FileMode.Open, FileAccess.Read))
{
var buffer = new byte[32 * 1024];
int blockSize;
while ((blockSize = extra.Read(buffer, 0, buffer.Length)) > 0)
{
original.Write(buffer, 0, blockSize);
}
}
}
}