问题标签 [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 投票
1 回答
5254 浏览

c# - TextReader 上的 Read() 和 ReadBlock() 调用有什么区别?

标题或多或少说明了一切。通话记录在案:

Here forTextReader.Read Method (Char[], Int32, Int32)
Here forTextReader.ReadBlock()具有相同的参数类型。

我想提取一个字节数组的一部分,为此我组成了一个MemoryStream我打算用StreamReader这样的方式读取的内容:

我应该使用哪一个?其中一个更快还是更好?

0 投票
2 回答
2638 浏览

c# - 制表符分隔的 txt 文件从字符串数组中读取 int 值

我正在使用 TextReader 读取制表符分隔文件的每一行。对于它读取的每一行,我在选项卡上拆分并填充一个字符串数组。然后我可以访问字符串数组中的特定位置来获取值。

这适用于以下字符串:userWorkload.SSN = arrColumns[0];
但是,当我尝试将其中一列转换为 int 时,在运行时收到一条错误消息: userWorkload.contactHours = Convert.ToInt32(arrColumns[9]);

这是我的代码:

UserWorkload 类只包含简单的getter / setter:

这是我的错误:
未处理的异常:System.FormatException:输入字符串的格式不正确。
在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
在 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
在 System.Convert.ToInt32(String value)
在 Snyder5Creator C:\Users\baxter.NET\Documents\Visual Studio 2010\Projects\User5Creator\User5Creator\InputFileReader.cs
中的 .InputFileReader.buildRowList():C:\ 中 Snyder5Creator.Program.Main(String[] args) 的第 31 行用户\baxter.NET\Documents\Visual Studio 2010\Projects\User5Creator\Snyder5Creator\Program.cs:第 24 行

第 31 行是:userWorkload.contactHours = Convert.ToInt32(arrColumns[9]);

对此的任何帮助将不胜感激。

0 投票
4 回答
192 浏览

c# - 如何使用foreach检查项目是否不在控件中?

我目前正在尝试使用 foreach 循环来检查 listviewitem 是否不在 listview 中,以及是否不再编写它。到目前为止,这是我的代码。

感谢所有帮助!

0 投票
2 回答
113 浏览

c# - TextReader() 被 Timer_Tick() + this.ActiveControl 崩溃?

我有一个子表单,它TextReader可以在被调用时加载一些值。我召唤表格的那一刻,它一直在崩溃。此表单具有以这种方式Timer更新 a 文本的 a TextBox

我注意到在加载操作期间禁用计时器会阻止崩溃的发生。我可以说TextReader受到干扰this.ActiveControl并导致崩溃吗?

VS Just-in-Timer 调试器每次都会给出不同的 [xxxx] 错误代码。尝试使用 VS 进行调试得到“无法附加崩溃进程。已附加调试器。”

0 投票
4 回答
102801 浏览

c# - 在读取和写入文件 C# 时共享冲突 IOException

这是我的代码:

它抛出这个错误:

IOException:路径 C:\Users\Water Simulation\file_no.txt 上的共享冲突

我要做的只是打开一个带有 log_x.txt 名称的文件并从 file_no.txt 文件中获取“x”。如果 file_no.txt 文件为空,则将日志文件的名称设为 log_1.txt 并写入“fileNo + 1”到file_no.txt。新程序启动后,新的日志文件名必须是log_2.txt。但我收到这个错误,我不明白我在做什么错。谢谢你的帮助。

0 投票
1 回答
1650 浏览

c# - TextReader 类行数

你好。最近,我了解了这门课TextReader以及如何阅读文本文件。但是,有些事情我真的不明白。

假设这是一个新对象:

所以我想知道里面有多少个字母,所以我正在输入这个,对吧?

但是,它为第一行返回一个数字,它是当前的,但是当我添加新行时。无论是否输入任何内容,长度都会增加。假设它\n是新行的代码[也许我错了,但这是有道理的]

所以我需要像这样减少长度:

所以我在我的文本文件中得到了正确数量的字母。问题是:如何获得行数?

还有其他方法可以检查字母的数量吗?如果有,怎么做?无论如何,我如何获得文本文件中的行数?

谢谢。=)

0 投票
2 回答
6140 浏览

c# - 如何在 ShareDenyWrite 模式下打开 StreamReader?

我如何打开一个StreamReader, FILE_SHARE_READ, FILE_SHARE_WRITEFILE_SHARE_DELETE


同样的问题,稍微扩大

我如何打开一个StreamReader,以便我可以读取编码的文本文件,并使用共享选项,以便另一个进程可以读取该文件?

我如何打开一个StreamReader以便我可以读取编码的文本文件,并带有共享选项,以便另一个进程可以在我读取文件时修改它?

我如何打开一个StreamReader以便我可以读取编码的文本文件,并带有共享选项,以便另一个进程可以在我读取文件时删除它?


同样的问题,稍微扩大一点

在 .NET Framework 类库中有一个名为StreamReader. 它是唯一设计用于阅读“文本”的类,这就是它源自抽象基TextReader类的原因。TextReader/StreamReader允许您指定您尝试打开的文件使用的编码,并可以为您解码文件,返回文本Strings

一旦我打开了一个文件StreamReader

该文件被锁定,其他进程无法修改删除该文件。我需要的是相当于一个FileStream类的FileShare枚举:

  • :拒绝共享当前文件。任何打开文件的请求(通过这个进程或另一个进程)都会失败,直到文件被关闭。
  • Read ":允许后续打开文件进行读取。如果未指定此标志,则任何打开文件进行读取的请求(由此进程或其他进程)将失败,直到文件关闭。但是,即使此标志为指定时,可能仍需要其他权限才能访问该文件。
  • 写入:允许随后打开文件进行写入。如果未指定此标志,则任何打开文件进行写入的请求(由该进程或另一个进程)将失败,直到文件关闭。但是,即使指定了此标志,仍可能需要其他权限才能访问该文件。
  • ReadWrite:允许随后打开文件以进行读取或写入。如果未指定此标志,则任何打开文件进行读取或写入的请求(由该进程或其他进程)都将失败,直到文件关闭。但是,即使指定了此标志,仍可能需要其他权限才能访问该文件。
  • 删除:允许随后删除文件。

除了,出于显而易见的原因,我不能使用FileStream- 必须使用 a StreamReader

我怎样才能打开StreamReader一个FileShare.ReadWrite | FileShare.Delete

0 投票
3 回答
31045 浏览

c# - 如何循环来自 TextReader 的行?

如何遍历TextReader source中的行?

我试过

但是得到了错误

foreach 语句无法对“System.IO.TextReader”类型的变量进行操作,因为“System.IO.TextReader”不包含“GetEnumerator”的公共定义

0 投票
4 回答
2068 浏览

c# - 如何从 TextReader 遍历每一行?

可能重复:
C# 逐行读取文件
如何从 TextReader 循环遍历行?

我得到了一个 .NET TextReader(一个可以读取一系列连续字符的类)。如何逐行循环其内容?

0 投票
2 回答
283 浏览

c# - ArgumentOutOfRange 异常 C#

我正在做我的作业,我必须做一个程序,将文件中的简单字母(如 E 和 F)扩展到连续产生式,也在文件夹中给出,如 E+T EF 等。无论如何,下面显示的代码给了我参数超出范围异常。我用java编写了相同的代码,一切正常。我不知道为什么在 C# 中它给了我这个例外。请给我一些建议!!

我忘了把我正在阅读的文件放在:

电子转帐

一个+()

E+T|ET|T

T*F|T/F|F

一个|(E)