gpt4 book ai didi

c# - 我应该在 Stream.CopyTo 之前使用 Stream.Flush 吗?

转载 作者:行者123 更新时间:2023-11-30 20:43:57 25 4
gpt4 key购买 nike

我有 MemoryStream,我正在使用 StreamWriter 填充一些数据。最后我想将它转储到不同的流(不总是文件)。

我应该在使用 Steram.CopyTo 方法之前调用 Stream.Flush 吗?

最佳答案

您永远不需要对内存流调用 Flush,因为该操作什么都不做。如果查看源代码,实现是空的。您确实需要在写入后倒带流。

但是,您需要刷新 StreamWriter,以确保在开始复制之前所有数据都已推送到内存流中。

您可以将此模式与写入内存流的 StreamWriter 一起使用,以避免显式刷新:

MemoryStream memStream = ...
using (StreamWriter wr = new StreamWriter(memStream)) {
... // Do the writing
}
memStream.Position = 0; // Rewind
// At this point `memStream` has all data pushed into it,
// and is positioned at zero, so it's ready to be copied.

关于c# - 我应该在 Stream.CopyTo 之前使用 Stream.Flush 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30001182/

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