Console 类
来源:互联网 发布:java排列组合算法 编辑:程序博客网 时间:2024/06/07 01:35
Console 类
表示控制台应用程序的标准输入流、输出流和错误流。 此类不能被继承。
继承层次结构
System::Console
程序集: mscorlib(在 mscorlib.dll 中)
语法
public ref class Console abstract sealed
Console 类型公开以下成员。
属性
方法
事件
备注
控制台是一个操作系统窗口,用户可在其中通过计算机键盘输入文本,并从计算机终端读取文本输出,从而与操作系统或基于文本的控制台应用程序进行交互。例如,在 Windows 中控制台称为命令提示窗口,可以接受 MS-DOS 命令。Console 类对从控制台读取字符并向控制台写入字符的应用程序提供基本支持。
控制台 I/O 流
控制台应用程序启动时,操作系统会自动将三个 I/O 流与控制台关联。 您的应用程序可以从标准输入流读取用户输入;将正常数据写入到标准输出流;以及将错误数据写入到标准错误输出流。 这些流会作为 In、Out 和 Error 属性的值提供给应用程序。
默认情况下,In 属性的值为System.IO::TextReader 对象,而Out 和Error 属性的值为System.IO::TextWriter 对象。不过,您可以将这些属性设置为不表示控制台的流;例如,可以将这些属性设置为表示文件的流。若要重定向标准输入流、标准输出流或标准错误流,请分别调用 SetIn、SetOut 或 SetError 方法。使用这些流的 I/O 操作是同步的,这意味着多个线程均可读取或写入这些流。
不应使用 Console 类将输出显示在无人参与的应用程序(如服务器应用程序)中。同样,在 Windows 应用程序中调用 Write 和WriteLine 等方法也不起任何作用。
基础流定向到控制台时 Console 类成员能够正常工作,但是,如果将基础流重定向(如重定向到一个文件),则该类的成员可能会引发异常。因此,如果要将标准流重定向,请在应用程序中捕获 System.IO::IOException。
显式调用 In、Out 和 Error 属性表示的流对象的成员有时十分有用。例如,默认情况下,Console::ReadLine 方法从标准输入流中读取输入。同样,Console::WriteLine 方法将数据写入标准输出流,并在数据后添加默认行终止字符串;也就是说,数据后跟回车和换行(“\r\n”)。但 Console 类不提供用于将数据写入标准错误输出流的相应方法,也不提供用于更改写入该流的数据的行终止字符串的属性。
若要解决此问题,可以将 Out 或Error 属性的TextWriter::NewLine 属性设置为其他行终止字符串。例如,C# 语句 Console.Error.NewLine = "\r\n\r\n"; 将标准错误输出流的行终止字符串设置为两个回车符和换行符序列。然后,您可以显式调用错误输出流对象的 WriteLine 方法,在 C# 语句中为Console.Error.WriteLine();。
屏幕缓冲区和控制台窗口
控制台有两个关系紧密的功能,也就是屏幕缓冲区和控制台窗口。 文本实际上是从控制台拥有的流进行读取和写入的,但看起来像是在控制台拥有的一个称为屏幕缓冲区的区域中进行读取和写入的。 屏幕缓冲区是控制台的一个特性,以由行和列组成的矩形网格的形式进行组织,其中每个网格交叉位置(字符单元格)都可包含一个字符。 每个字符都有自己的前景色,而每个字符单元格都有自己的背景色。
屏幕缓冲区可通过称为控制台窗口的矩形区域查看。 控制台窗口是控制台的另一个特性;它不是控制台本身,控制台本身是一个操作系统窗口。 控制台窗口也以行和列的形式进行组织,其大小与屏幕缓冲区相同或者更小,该窗口可进行移动以查看基础屏幕缓冲区的不同区域。 如果屏幕缓冲区比控制台窗口大,控制台会自动显示滚动条,以使控制台窗口可以在屏幕缓冲区上重新定位。
光标指示屏幕缓冲区中当前正在读取或写入文本的位置。 可以隐藏或显示光标,光标的高度可以更改。 如果光标可见,控制台窗口的位置会自动移动,以便总是能够看到光标。
字符单元格在屏幕缓冲区中的坐标原点为左上角,光标和控制台窗口的位置相对于该原点进行计算。使用从零开始的索引来指定位置;也就是说,将最上面的行指定为行 0,将最左边的列指定为列 0。行和列索引的最大值为 Int16::MaxValue。
功能
Console 类提供用于从控制台读取单个字符或整行的方法;该类还提供若干写入方法,可将值类型的实例、字符数组以及对象集自动转换为格式化或未格式化的字符串,然后将该字符串(可选择是否尾随一个行终止字符串)写入控制台。Console 类还提供一些用以执行以下操作的方法和属性:获取或设置屏幕缓冲区、控制台窗口和光标的大小;更改控制台窗口和光标的位置;移动或清除屏幕缓冲区中的数据;更改前景色和背景色;更改显示在控制台标题栏中的文本;以及播放提示音。
Console 类还包含支持控制台窗口外观自身自定义的成员。 可调用 SetWindowSize 方法同时更改控制台窗口中的行数和列数,或使用WindowHeight 和WindowWidth 属性可以独立地更改行数和列数。可以使用 ForegroundColor 和BackgroundColor 属性来调整控制台窗口的颜色,使用CursorSize 和CursorVisible 属性来自定义控制台窗口中的光标。
示例
此代码示例演示如何从标准输入流与输出流读取和向它们写入。 请注意,可以使用 SetIn 和SetOut 方法重定向这些流。
int main(){ Console::Write( L"Hola " ); Console::WriteLine( L"Mundo!" ); Console::WriteLine( L"What is your name: " ); String^ name = Console::ReadLine(); Console::Write( L"Buenos Dias, " ); Console::Write( name ); Console::WriteLine( L"!" );}
版本信息
.NET Framework
受以下版本支持:4、3.5、3.0、2.0、1.1、1.0.NET Framework Client Profile
受以下版本支持:4、3.5 SP1平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2
.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。线程安全
此类型是线程安全的。
请参见
参考
- Console类
- Console 类
- Console类
- Console类
- java API------Console类
- C# Console类
- 【C#】 Console类
- java.io.Console类
- Console类:控制台输入输出
- console
- Console
- console
- Console
- console
- console
- [Java] Java中Console类
- Console类的常用方法
- Java中Console类源码
- 【iOS开发】让SVN添加被忽略的".a"后缀名的静态库
- log4j 如何在Java web中使用
- libpcap底层实现变化的分析
- Jexus web server V5.6.1正式发布
- Oracle11G基于CentOS6.4静默安装
- Console 类
- JAVA中String与StringBuffer的区别
- 代数系统笔记
- Mina2 研究总结
- 使用STAF进行自动化安装测试
- ubuntu安装postgresql与postgis
- android开发中常见日期管理工具类
- <c:if test="${empty(*)}"> 报错javax.el.ELException: Function ':empty' not found;
- Java学习课程(3)