问题标签 [streamreader]

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 投票
1 回答
686 浏览

c# - 如何将多个 TextReader 串在一起?

我有 3 个 TextReader——StreamReaders 和 StringReaders 的组合。从概念上讲,它们的连接是一个单一的文本文档。

我想调用一个采用单个 TextReader 的方法(不在我的控制之下)。是否有任何内置或简单的方法可以从多个 TextReader 连接 TextReader?

(我可以编写自己的 TextReader 子类,但看起来工作量很大。在这种情况下,我只需将它们全部写入一个临时文件,然后使用单个 StreamReader 打开它。)

我缺少一个简单的解决方案吗?

0 投票
1 回答
3543 浏览

c# - 检查文件末尾的固定长度标记

我有一个应用程序,之后我的任务是清理。应用程序本身相对简单 - 它运行 SQL 查询,使用 Web 服务,并将结果发送到日志文件。我的工作是在应用程序完成后将文件归档到我们的 NAS。它会专门锁定文件,直到处理完它们,所以它增加了一点复杂性。我也不允许触摸应用程序,只能触摸日志。无论如何,我的应用程序相当简单:

  1. 检查文件是否可以打开(捕获 IOException),如果没有抛出异常,则在 bool[] 中将其标记为可访问。
  2. 遍历标记为 true 的文件数组,使用 ReadLine 方法将文件的每一行读入 StreamReader。因为应用程序偶尔会打嗝并且没有完成,所以我不能简单地使用 IOException 来判断文件是否完成 - 我必须实际解析文本。
  3. 如果找到指示完成的文本,请压缩文件,将存档文件加载到 NAS,然后删除原始文件。

我的代码有效,只是非常耗时(每个日志文件大约 500 MB)。我对改进的想法涉及从文件底部而不是从顶部开始搜索,但 StreamReader 不支持这种方法。我不能使用 ReadToEnd 方法然后反向读取,因为这只会引发内存不足异常。关于加快日志文件解析的方法有什么想法吗?

0 投票
3 回答
685 浏览

c# - 从 .NET 和 C# 中的网站提取数据的问题

我编写了一个网页抓取程序来访问页面列表并将所有 html 写入文件。问题是,当我拉出一段文本时,一些字符会写成“�”。如何将这些字符拉到我的文本文件中?这是我的代码:

0 投票
2 回答
1902 浏览

c# - StreamReader.EndOfStream 产生 IOException

我正在开发一个接受 TCP 连接并读取数据的应用程序,直到读取</File>标记,然后将该数据写入文件系统。我不想断开连接,我想让发送数据的客户端这样做,以便他们可以在一个连接中发送多个文件。

我正在使用StreamReader.EndOfStream我的外循环,但是当客户端断开连接时它会抛出一个 IOException 。有一个更好的方法吗?

0 投票
4 回答
7358 浏览

c# - C# StreamWriter 和 StreamReader 内存管理问题,为什么内存使用不释放?

因此,我使用了一个 StreamReader,它使用 MemoryStream 写入 StreamWriter 和此应用程序内部,但内存使用量增加了 300mb(来自较大的输入之一),并且在我完成使用后不会取消分配:

在此之前和之后,我得到了 RAM 使用量,之前它比之后少 300 mb,但我不知道为什么。考虑到这里唯一发生的事情是来自阅读器的数据被放置在文本文件中,我已经做了我能想到的一切来释放该内存我不明白为什么甚至需要使用任何大量内存暂时地。我有什么遗漏吗?...谢谢。

0 投票
3 回答
2557 浏览

c# - 有没有办法从 StreamReader 中删除第一行

我有一个加载 csvfile 的流式阅读器,问题是我想忽略的数据顶部有一个额外的行。

我正在使用很棒的CSVReader 项目,但是

总是看第一行。我认为与其进入 CSVReader 源代码并对其进行更改,不如在将其注入 csvReader 之前从流读取器本身“剥离”第一行可能会更容易。这可能吗?

0 投票
2 回答
13391 浏览

c# - C# 中的 StreamReader 和缓冲区

我对 StreamReader 的缓冲区使用有疑问。在这里: http: //msdn.microsoft.com/en-us/library/system.io.streamreader.aspx你可以看到:

“从流中读取时,使用与流的内部缓冲区大小相同的缓冲区更有效。”。

根据此博客,StreamReader 的内部缓冲区大小为 2k,因此我可以使用Read()避免Read(Char[], Int32, Int32).

此外,即使文件很大,我也可以构造 StreamReader 传递缓冲区的大小

那么外部缓冲区需要什么?

0 投票
3 回答
1839 浏览

c# - 将序列化对象与现有 xml 文档组合并返回?

我正在尝试将序列化对象与现有的 xml 文档结合起来,并将其作为 Web 服务返回。

提前感谢您的帮助。

示例代码:

0 投票
6 回答
124 浏览

c# - 如何加载与我的 C# 程序安装捆绑在一起的文件?

我需要做这样的事情:

除了我不知道用户在哪里安装了程序。我的程序应该如何知道已安装文件的位置?

我是菜鸟,以防你没有注意到。

0 投票
23 回答
706944 浏览

.net - 如何读取嵌入式资源文本文件

如何读取嵌入式资源(文本文件)StreamReader并将其作为字符串返回?我当前的脚本使用 Windows 表单和文本框,允许用户在未嵌入的文本文件中查找和替换文本。