Как упаковать большой файл в Tar?
Если вы используете этот код, то используется много оперативной памяти.
using (TarWriter tarwriter = new(_writestream, TarEntryFormat.Pax, leaveOpen: false))
using (FileStream srcFile = new(item, FileMode.Open, FileAccess.Read))
{
string fileName = item.Remove(0, mainDir.Length + 1).Replace('\\', '/');
PaxTarEntry te = new(TarEntryType.RegularFile, fileName)
{
DataStream = new MemoryStream()
};
int currentBlockSize = 0;
while ((currentBlockSize = srcFile.Read(buffer)) > 0)
{
te.DataStream.Write(buffer.AsSpan(0, currentBlockSize));
}
te.DataStream.Position = 0;
tarwriter.WriteEntry(te);
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... into-a-tar