使用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操作系统(一个简短的娱乐故事本身,但一个超出范围). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |