Comparing with popular third-party products in capability,
GZipStream has certain limitations.
·
One of the major limitations is that you can not assign a name to
the gzip archive header. It means you have to note the file name and its extension
at the time of compression and send it to the destination end where
decompression is to be done. Because if file type (extension) is not known to
the destination end, then it will be difficult to open the decompressed file in
its proper program. This limitation is due to the fact that GZipStream class
follows the GZip specification in which declaring a name is optional. Hence,
GZipStream class does not include file name in its header as metadata. Whereas
we can change the headers to include file names in ZIP contents by using other
class like NamedGZipStream, etc.
·
Though files compressed by GZip and Deflate algorithms can be
successfully decompresses by other archivers (WinZip or WinRar etc.). DeflateStream and GZipStream classes ca not
be used to decompress files which are compressed by other compression archivers
like WinZip or WinRar. This is because WinZip/WinRar uses advance header
metadata definition while writing compressed files.
·
These algorithms should not be used to compress files which are
already compressed by some other compression algorithm.
·
Maximum 4 GB of streams can be used with these archive methods.