问题标签 [textreader]

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 投票
4 回答
8815 浏览

c# - TextReader.Peek 行为和检测流/阅读器的结束

当我使用文本阅读器时,检测我实际上处于数据末尾的最佳方法是什么?执行此操作的通常方法如下所示

但是这里的 msdn 文档说明了以下内容

表示要读取的下一个字符的整数,如果没有更多字符可用或读取器不支持查找,则为 -1。

所以我的问题是你如何判断你是否真的处于读者数据的末尾,或者读者/基础流根本不支持搜索,因为这里的返回值似乎是模棱两可的?如果例如我有以下

因为 networkstream 不支持搜索。

还是我错过了什么?

编辑:

澄清一下,我可以使用更具体的 StreamReader 类轻松实现这一点,因为我可以检查 EoS。然而,为了让事情更笼统,我想使用 TextReader,所以我不仅仅局限于 StreamReader。但是 Peek 的语义似乎有点奇怪,如果不支持搜索,为什么它不直接抛出,为此为什么没有 TextReader 的 EoF 属性?

0 投票
2 回答
5338 浏览

c# - 使用 TextReader 读取字节

过去,我一直在使用 BinaryReader 读取几个字节,但最近,我收到了这个错误:

因此,我决定使用 TextReader 的 Synchronized 方法,如下所示:

但是,返回的值(它几乎以专有格式读取图像)是不正确的。“图像”有轻微的蓝色色调,我觉得这可能是由于 TextReader 读取文本(并且读取带有编码的字符而不是仅仅读取字节值)的事实造成的。

是否有像 TextReader 的 Synchronized() 这样的“线程安全”方式来读取二进制文件?

0 投票
1 回答
291 浏览

c# - 为什么 IEumerator影响 IEnumerable 的状态甚至枚举器也没有到达终点?

我很好奇为什么以下会在“最后”分配中引发错误消息(文本阅读器关闭异常):

但是以下执行正常:

不同行为的原因是什么?

0 投票
1 回答
165 浏览

c# - 没有字符时如何从标准输入读取?

我正在编写一个Scanner类似于 Java 的基本类。这是我所拥有的(嗯,相关部分):

从我运行的几个测试来看,这对真实文件非常有效,但对于标准输入,它并不像预期的那样有效。如果我使用Scanner.Peekor Scanner.ReadChar,在发送换行符后,该TextReader实例认为它位于文件末尾(我认为)并抛出一个EndOfStreamException实例 sincethis.Reader.Readthis.Reader.Peek返回-1.

如何在仍然支持真实文件和StringReader实例的同时强制它请求新角色?

0 投票
2 回答
1173 浏览

c# - 将 TextReader 转换为 XmlReader

我有一个函数让TextReader我想将它用作`XmlReader:

有没有办法转换TextReaderXmlReader?

0 投票
4 回答
1388 浏览

c# - 哪些 C# 类对象获取非托管资源?有清单吗?

我正在使用 XML 对类对象进行序列化和反序列化时,我遇到了这篇博文,该博文展示了如何在 Windows Phone 7 上使用隔离的存储区域进行序列化和反序列化。Windows Phone 7 是我正在开发的平台:

此示例中,他显式调用Dispose()的唯一对象是 TextReader 对象。我在 MSDN 上查找了 TextReader 对象,发现文档是这样说的:

释放 TextReader 使用的非托管资源,并可选择释放托管资源。

所以我假设他这样做的原因是立即释放 TextReader 对象获取的非托管资源。如果不是因为他的博客文章,我不会想到这样做。显然,我不想开始对可见的每个对象调用 Dispose(),那么对于至少调查特定对象何时应该调用 Dispose() 来说,有什么好的经验法则?是否有一些指导方针或某个地方的列表,至少是需要这种特殊处理的流行 .NET 对象?

0 投票
1 回答
55 浏览

matlab - 如何从 matlab 中的 *.txt 文件中访问数字?

我有一个 data.txt 文件,例如:

123 124 125 126

我想将这些数字与 num 进行比较

我的代码是这样的

但答案显示 0 ( b = 0 )

如何扫描这些数字?

0 投票
1 回答
745 浏览

c# - C# 2Gb 文件在 Ram 中是 4gb。为什么?

我正在读取一个文件(该文件由一个长度为 2gb 的长字符串组成)。

这是我的函数,它将文件的所有内容读入内存,然后拆分字符串并放置: *reader = StreamReader

当所有数据放入列表时,它会占用 4gb 的 RAM。当文件只有 2GB 大小时,这怎么可能?

*编辑

这就是我最终做的。我没有将字节数组转换为字符串,我只是在操作它们时传递字节。这是该字段在内存中只有 2Gb 而不是 4gb

0 投票
1 回答
2749 浏览

c# - 流式传输 IEnumerable

我有一个从文件中读取并过滤的字符串列表,所有这些都是使用 yield 机制发生的,因此它是惰性的。然后我需要将它传递给一个采用 TextReader 的方法。

这种方法有什么问题吗?它似乎有效,但想知道我错过了一些东西。

0 投票
1 回答
394 浏览

c# - 在 TextReader 上实现 ReadKey()

我有一个通过 TextReader 接受输入的类,并允许该类从控制台或文本框接收输入。

以下是我正在尝试做的一个非常基本的示例:

如何更改上述内容以实现上述示例ReadKey()中的Read()方法在按下 Enter 键之前一直接受输入?我想实现 ReadKey() 以便它只接受一个按键。

谢谢。

** 编辑 **

为了进一步澄清,我希望在不使用 Console.ReadKey() 的情况下实现 ReadKey()。我不确定这是否有可能,因为谷歌到目前为止什么都没有出现。