问题标签 [binarywriter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1525 浏览

c++ - 我想在 C++ 中使用 ifstream 和 ofstream 来模仿 C# 的 BinaryReader / BinaryWriter 功能

我正在寻找一种将浮点数/整数/字符串写入文件并将它们作为浮点数/整数/字符串读取的方法。(基本上读/写为 ios::binary)。

0 投票
1 回答
926 浏览

c# - BinaryWriter 用于 64 位文件的替代品?

BinaryWriter - 无法对 64 位值执行 Seek。传递给函数 Seek (int32) 的参数对于大于 2 Gb 的文件是否有类似的类?

0 投票
2 回答
927 浏览

.net - 从二进制写入器接收数据到网络流

这可以被认为是我之前线程的延续。

我在我的文件共享应用程序上做了一些开发和修复,但现在我面临另一个问题。我想这个并不难,只是我目前的脑力已经耗尽来解决这个问题。我相信这可以以更好的方式完成。

这是我收到的错误的屏幕截图。

正如您在屏幕截图中看到的那样,FileName变量中有一些值。它是我要发送的文件的名称。如果您注意到,变量包含ello.cpp,它必须是hello.cpphello.cpp是正在发送的文件的名称。尾随字符是文件的内容。尾随字符不再是问题,只要我能正确解决这个问题,文件名将是唯一存储在变量中的一个。

该错误发生在网络流的读取过程中。我想要实现的是,我想防止网络流在不是日志消息时被读取。我需要把它放在networkstream.read某个地方,这样它就不会占用文件的第一个字母。也许某种过滤?或者,如果可能只有一个代码可以获取日志消息和文件名,那就太好了。文件名是使用二进制写入器发送的,我尝试使用网络流来检索文件名,但它不起作用。我在这里错过了什么吗?

这是服务器部分的代码。

这是客户端的代码。

建议将不胜感激。

提前致谢!:)

0 投票
1 回答
3012 浏览

asp.net - ASP.NET:子用户控件内的 UpdatePanel 内的 Response.BinaryWrite

所以我有以下场景:

--- 页面.aspx ---

--- 用户控件.ascx ---

我使用以下方法下载附件:

但由于内容在更新面板内,我收到以下错误:

“Sys.WebForms.PageRequestManagerParserErrorException:Sys.WebForms.PageRequestManagerParserErrorException:无法解析从服务器收到的消息。”

0 投票
1 回答
292 浏览

string-formatting - Delphi Prism:从二进制文件中读取字符串返回奇怪的字符

我正在将字符串写入文件并使用 binarywriter 和 binaryreader 将其读回。当字符串被读回时,它看起来很有趣而且很长。我不知道它为什么这样做。

这是我使用 binarywriter 写入文件的方法:

以下是我使用 BinaryReader 从文件中读取的方法:

这是我在调试代码时看到的:

在此处输入图像描述

如您所见或看不到,“GroupHeader.ID”应该只包含“Groupfile”而不是包含垃圾的长字符串。

那么,我做错了什么?这是字符串格式错误吗?

0 投票
1 回答
1589 浏览

c# - 在 C# Windows Phone 7 应用程序中写入隔离存储区文件的字节数组无效

我有一个 C# Windows Phone 7.1 应用程序,它从外部 Web 服务器下载 PDF 文件,然后(尝试)将其作为文件保存到隔离存储区域。我尝试了几种不同的方法来完成这项工作,但是文件总是以大约 30% 的大小结束,当我在文本编辑器中打开它时,而不是在文件开头看到通常的“PDF”字符后跟编码的字符,我看到基本上是垃圾。我使用的测试文件应该是 161k,但是当我使用独立存储资源管理器查看文件时,它是 271k。

首先,我将文件下载到字符串中。我此时在调试器中检查了字符串,它确实包含正确的值,并且长度正确。当我尝试将其写入隔离的存储区域时,就会出现问题。我用相同的无效结果尝试了StreamWriterBinaryWriter 。结果文件的内容似乎是一长串的垃圾字符。请注意,如果文件存在,我将删除它以防万一,然后再写出内容。下面是我使用BinaryWriter版本的代码。怎么了?

0 投票
1 回答
965 浏览

c# - 使用 BinaryWriter 写入 usblp0 的非阻塞 io

我正在用 c# (mono) 编写一个程序来打印到财务打印机 (escpos),它工作正常。问题是当我打印时,程序会挂起,直到我拥有的缓冲区被清除。因此,正如您想象的那样,如果我打印几张图像,它会变得更大,因此会挂起一段时间。这是不可取的。我用两种方式测试过

一种方式

第二种方式

并且这两种方法都不允许程序继续执行。示例:如果它开始打印并且纸张用完,它将一直挂起,直到打印机恢复打印,这是不正确的方式。

提前感谢您的时间和耐心。

0 投票
4 回答
1692 浏览

c# - 使用 BinaryWriter 写入 Nullable 值

我想使用以下代码将一个可为空的字符串写入文件BinaryWriter

但发生此错误:

类型“字符串”必须是不可为空的值类型,才能将其用作泛型类型或方法“System.Nullable”中的参数“T”

我怎么解决这个问题?

0 投票
1 回答
273 浏览

c# - C#二进制写入返回更大的文件

我在二进制写入器问题上遇到了一点麻烦,我的程序设置为加载 SHIFT-JIS 字符,并以相同的编码写入,但它返回一个更大的文件:s 虽然我删除了几个字符,但这里是一个示例写入前后的文件,这些是打开和保存代码:

我真的很感谢你的帮助。

0 投票
1 回答
1082 浏览

c# - 更改 BinaryReader 的 BaseStream 的位置如何影响使用相同 BaseStream 的 BinaryWriter 的当前状态?

我正在研究一个监视流的解析器(可能来自 a NetworkStream)。当在源流上看到某些数据时,将MemoryStream创建一个新数据并将来自源的相关数据写入其中。

然后我将MemoryStreamfor 解析传递给另一个将 解析MemoryStreamStream. 在这个方法BinaryReader中创建了一个。当它去读取数据时没有,因为BinaryReader它实际上是在数据的末尾。

BinaryReader 没有Position属性或方法,因此需要更改Seek下划线位置。BaseStream一旦位置改变,就可以解析流。

在这种情况下,我们不会添加额外的数据,所以没有问题。但是我想到,如果出现类似的情况并且要向其中写入额外的数据,这可能不起作用,因为位置值在其背后发生了变化。

我对这里的含义有点模糊。

BaseStream作者和读者是否使用及其位置的副本或允许损坏的原始对象?

这是否意味着我需要在创建编写器的同时创建读取器,以便两者都从同一个位置开始,然后将读取器传递给方法而不是BaseStream? 我认为这可能是一个更好的做法。

BinaryReader 和 Writer 是否维护自己的位置信息?我不是因为财产不在那里。如果不能,您可以在同一个线程中同时使用它们吗?

更新#1:基于已被撤回的答案和评论,我认为我需要让我的困惑更清楚一点。和中都有一个BaseStream属性。我认为它指向用于创建写入器和读取器的流对象。我开始认为这只是两者独有的工作对象。BinaryWriterBinaryReader

我不想对流对象做太多假设,以便我对多种类型的流作为源保持开放。

更新#2:现在运行一些测试代码后,我看到它们已连接。写入数据时,它会影响读取器的位置。我会认为阅读器不会受到影响,这样它就可以从中断的地方继续阅读流的下一部分,这很有用。我设想过这样的事情:

  • 发生数据事件。该事件导致写入器写入数据。
  • 在某些时候,阅读器会处理流中的一些数据。
  • 发生另一个事件,导致要写入更多数据。
  • 它被附加到读者已经在处理的数据中。
  • 读者完成包括新数据在内的工作。

但是基于位置在读者和作者之间的工作方式,这不是使用流的方式。

也许我的概念问题是因为我的 BaseStream 是 MemoryStream 并且规则与 NetworkStream 不同。我试图将流源的实现细节保留在阅读类之外。

我想此时我已经有了问题的答案。现在我需要找到有关使用流来做我脑海中的那种事情的信息。