【发布时间】:2019-01-30 01:13:57
【问题描述】:
您好,我的问题是,如果可能的话,我需要将 MemoryStream 和 GZipStream 压缩到 MemoryStream 中,然后压缩到该方法作为参数获取的相同 MemoryStream 中。如果这无法实现,我该如何做到这一点,这样它是最节省内存的。
这是我当前的方法,它给了我 System.NotSupportedException: 'Stream does not support reading.' for compress.CopyTo
public static void GZipCompress(MemoryStream memoryStream)
{
using (GZipStream compress = new GZipStream(memoryStream, CompressionMode.Compress))
{
compress.CopyTo(memoryStream);
}
}
【问题讨论】:
-
最高效的内存可能会完全避免输出内存流。您是否要将压缩数据流式传输到其他地方,例如文件、套接字或字符串?然后直接使用它而不是内存中间体。 (当然,这同样适用于输入。)
-
我必须将 MemoryStream 放入正在写入 Ftp 的 Stream。
标签: c#