gpt4 book ai didi

c# - EndOfStreamException 与简单的 BinaryWriter 和 BinaryReader

转载 作者:太空宇宙 更新时间:2023-11-03 19:59:43 29 4
gpt4 key购买 nike

我正在使用以下代码:

var fileStream = new MemoryStream();
var binaryWriter = new BinaryWriter(fileStream);
var binaryReader = new BinaryReader(fileStream);

binaryWriter.Write("Hello");
var msg = binaryReader.ReadString();

但是我遇到了以下异常:

System.IO.EndOfStreamException: Unable to read beyond the end of the stream.

在读取之前,binaryReader.BaseStream.Length 大于 0,但是 binaryReader.PeekChar() 返回 -1。

我做错了什么?

最佳答案

写入流后,流的位置将是您写入的内容的长度。

为了在写入后直接从中读取,您必须重置流的位置:

binaryWriter.Write("Hello");
binaryWriter.BaseStream.Position = 0;
var msg = binaryReader.ReadString();

将导致写入流的原始“Hello”被分配给 msg

关于c# - EndOfStreamException 与简单的 BinaryWriter 和 BinaryReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29766572/

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