gpt4 book ai didi

c# - 如何合并两个内存流?

转载 作者:可可西里 更新时间:2023-11-01 09:16:58 27 4
gpt4 key购买 nike

我有两个 MemoryStream 实例。

如何将它们合并为一个实例?

好吧,现在我无法从一个 MemoryStream 复制到另一个。这是一个方法:

public static Stream ZipFiles(IEnumerable<FileToZip> filesToZip) {
ZipStorer storer = null;
MemoryStream result = null;
try {
MemoryStream memory = new MemoryStream(1024);
storer = ZipStorer.Create(memory, GetDateTimeInRuFormat());
foreach (var currentFilePath in filesToZip) {
string fileName = Path.GetFileName(currentFilePath.FullPath);
storer.AddFile(ZipStorer.Compression.Deflate, currentFilePath.FullPath, fileName,
GetDateTimeInRuFormat());
}
result = new MemoryStream((int) storer.ZipFileStream.Length);
storer.ZipFileStream.CopyTo(result); //Does not work!
//result's length will be zero
}
catch (Exception) {
}
finally {
if (storer != null)
storer.Close();
}
return result;
}

最佳答案

使用 CopyTo 非常简单或 CopyToAsync :

var streamOne = new MemoryStream();
FillThisStreamUp(streamOne);
var streamTwo = new MemoryStream();
DoSomethingToThisStreamLol(streamTwo);
streamTwo.CopyTo(streamOne); // streamOne holds the contents of both

框架,人。 框架

关于c# - 如何合并两个内存流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15655210/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com