我的问题可以用以下语句来描述:
- 我希望我的程序能够压缩和解压缩选定的文件
- 我有非常大的文件(20 GB+)。可以安全地假设该大小永远不会适合内存
- 即使压缩后压缩文件可能仍然无法放入内存
- 我想使用.NET Framework中的 System.IO.Compression.GzipStream
- 我希望我的应用程序是并行的
由于我是压缩/解压缩的新手,我对如何做到这一点有以下想法:
我可以使用将文件拆分成块并分别压缩它们。然后将它们合并回一个完整的压缩文件。
关于这种方法的问题 1 - 压缩多个块然后将它们合并在一起会给我正确的结果,即如果我要反转过程(从压缩文件开始,回到解压缩),我会收到相同的原始输入吗?
关于这种方法的问题 2 - 这种方法对您有意义吗?也许你可以指导我去听一些关于这个话题的好讲座?不幸的是,我自己找不到任何东西。