[PR #662] Properly integrated zip multivolume and general split support. #1151

Open
opened 2026-01-29 22:19:13 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/adamhathcock/sharpcompress/pull/662

State: closed
Merged: Yes


Proper multi volume zip and generic split support.

SplitStream has been renamed to SourceStream and supports multi and split archives. It's able to lookup missing parts.

  • The 5 Archive types have all been changed to add more static Open() methods.
  • The 5 Archive types now only have one constuctor for reading that accepts a SourceStream. Writing are left unchanged
  • The 5 Archive types now only have one LoadVolumes method that accepts a SourceStream

A new static method has been added to ArchiveFactory. It's a utility method called GetFileParts() that will take a file name/FileInfo and return all the files that are part of the set. It might be handy for people wanting to scan folders for archives and gather the other part names.

ArchiveFactory is cleaner as the multipart / split code that was in there is no longer required.

All tests are passing with no changes. More have been added to demonstrate new behaviour.

Cheers ;-)

**Original Pull Request:** https://github.com/adamhathcock/sharpcompress/pull/662 **State:** closed **Merged:** Yes --- Proper multi volume zip and generic split support. SplitStream has been renamed to SourceStream and supports multi and split archives. It's able to lookup missing parts. - The 5 Archive types have all been changed to add more static Open() methods. - The 5 Archive types now only have one constuctor for reading that accepts a SourceStream. Writing are left unchanged - The 5 Archive types now only have one LoadVolumes method that accepts a SourceStream A new static method has been added to ArchiveFactory. It's a utility method called GetFileParts() that will take a file name/FileInfo and return all the files that are part of the set. It might be handy for people wanting to scan folders for archives and gather the other part names. ArchiveFactory is cleaner as the multipart / split code that was in there is no longer required. All tests are passing with no changes. More have been added to demonstrate new behaviour. Cheers ;-)
claunia added the pull-request label 2026-01-29 22:19:13 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/sharpcompress#1151