我遇到了一个情况,需要从一个非常大的文件中读取二进制数据。因此,我意识到 .NET 中默认的 BinaryReader 实现相当慢。通过使用 .NET Reflector 查看它,我发现了以下内容: public virtual int ReadInt32() { if (this....
由于BinaryReader底层的缓冲策略,我不确定在读取存储在流中的偏移量后,重新将流定位到该偏移量以恢复流是否可行。例如,以下代码是否正确:using (var reader = new CustomBinaryReader(inputStream)) { var offset= r...
我用两个字符串创建了一个字节数组。如何将字节数组转换为字符串?var binWriter = new BinaryWriter(new MemoryStream()); binWriter.Write("value1"); binWriter.Write("value2"); binWrite...
我有以下源代码: public static void DisplayValues() { float aspectRatio; string tempDirectory; int autoSaveTime; bool showStatusBar; ...
我正在改进一个使用BinaryReader的流读取器类。它包括一个while循环,使用.PeekChar()检查是否存在更多数据以继续处理。 第一个操作是.ReadInt32(),它读取4个字节。如果PeekChar只“看到”了一个字节(或一个位),这似乎不是一种可靠的检查EOF的方法。 ...
我在查找一种检查二进制读取器文件是否已到达末尾的方法,有人建议使用PeekChar,如下所示:while (inFile.PeekChar() > 0) { ... } 不过,看起来我遇到了一个问题。 未处理的异常:System.ArgumentException: 输出字符...
我正在尝试使用二进制读取器将字节数组解压缩并转换为字符串。执行以下代码时,inStream的位置从0更改为数组的长度,但str始终为空字符串。BinaryReader br = null; string str = String.Empty; using (MemoryStream inSt...
我想自动下载一系列PDF文件,已有一个URL列表。以下是我的代码:HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; var encoding = new UTF8...
我正在使用BinaryReader来读取网络数据,其基于NetworkStream。这对我非常有效,但我想了解底层的工作原理,所以我查看了BinaryReader的文档,并发现它非常简略。 我的问题是:当我调用ReadBytes时,如果网络流中不存在bufferSize字节,BinaryRe...
假设以下代码: Stream file = files[0].InputStream; var FileLen = files[0].ContentLength; var b = new BinaryReader(file); var bytes = b.ReadBytes(FileLe...