В вопросе собственно озвучил всё: как программным путём разбить архив Zip на части? Программа на языке C#
Можете простым кодом вроде этого поделить уже готовый zip-файл на части:
public static void SplitFile(string source, long partSize, string destinationFormat, int firstFileNumber = 0) { var sourceStream = File.OpenRead(source);var buffer = new byte[80*1024]; var position = sourceStream.Position; var fileNumber = firstFileNumber; while (position < sourceStream.Length) { var filename = String.Format(destinationFormat, fileNumber); using(var destinationStream = File.Create(filename)) { var count = 0; do { count = sourceStream.Read(buffer, 0, (int)Math.Min(buffer.LongLength, partSize - destinationStream.Position)); destinationStream.Write(buffer, 0, count); position = count; } while (count > 0); } fileNumber ; }
}
SplitFile( source: @"C:\test\test.zip", destinationFormat: @"C:\test\test.z{02}", partSize: 100000*1024 );
Если хотите сразу писать в несколько файлов, то конструктору ZipFile можно подавать в качестве аргумента экземпляры Stream/Filestream.