加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Console.Read()确定文件结尾C#

发布时间:2020-12-16 00:02:24 所属栏目:百科 来源:网络整理
导读:几天前,我问了一个关于如何检测N(N是未知)行的输入文件结尾的问题. StringBuilder input = new StringBuilder();int endOfFile = 0while ((endOfFile = Console.Read()) != -1) { input.Append(((char)endOfFile).ToString()); input.Append(Console.ReadLin
几天前,我问了一个关于如何检测N(N是未知)行的输入文件结尾的问题.

StringBuilder input = new StringBuilder();

int endOfFile = 0
while ((endOfFile = Console.Read()) != -1) {
    input.Append(((char)endOfFile).ToString());
    input.Append(Console.ReadLine());
}

我已经编辑了我的问题,但我想这与下面的一些提示相同.

解决方法

@Jagannath基本上已经拥有了它,正如你所问的那样,除了一个小细节:该方法也适用于控制台,不涉及显式的StreamReader:

string line;
while ((line = Console.ReadLine()) != null)
{
    // TODO: Add processing
    Console.WriteLine(line);
}

如果您直接在控制台中键入而不是依赖从文件重定向的输入,请按CTRL-Z或F6以在控制台输入上触发“文件结束”.在控制台内部,F6只是CTRL-Z的同义词.

请注意,这里的CTRL-Z是中断序列或信号,而不是输入字符.它将在屏幕上显示^ Z.但是你不会在程序中收到CTRL-Z(U 001A)字符. CTRL-Z序列被控制台捕获并导致输入流关闭,就像“文件已到达结束”一样.不要在输入文件中插入CTRL-Z.

为此目的使用CTRL-Z的起源至少可以追溯到CP / M操作系统(一个简短的娱乐故事本身,但一个超出范围).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读