每个Java程序运行时都带有一个系统流,系统流对应的类为java.lang.System.System类封装了Java程序运行时的3个系统流,分别通过in、out和err变量来引用。这些变量的作用域为public和static,因此在程序的任何部分都不需要引用System 对象就可以使用它们。
System.in:标准输入流,默认设备是键盘。
System.out:标准输出流,默认设备是控制台。
System.err:标准错误流,默认设备是控制台。
【例7-6】 下面的程序演示了如何使用System.in读取字节数组,使用System.out输出字节数组。代码如下所示:
该程序的运行结果如下所示:(www.xing528.com)
System.in是InputStream 类的一个对象,因此上述代码的System.in.read()方法实际是访问InputStream 类定义的read()方法。该方法可以从键盘读取一个或多个字符。对于System.out输出流主要用于将指定内容输出到控制台。
System.out和System.error 是PrintStream 类的对象。因为PrintStream 是一个从OutputStream 派生的输出流,所以它还执行低级别的write()方法。因此,除了print()和println()方法可以完成控制台输出以外,System.out还可以调用write()方法实现控制台输出。
write()的简单形式如下:
该方法通过byteval向文件写入指定的字节。在实际操作中,print()方法和println()方法比write()方法更常用。
注意:尽管它们通常用于对控制台进行读取和写入字符,但是这些都是字节流。因为预定义流是没有引入字符流的Java原始规范的一部分,所以它们不是字符流而是字节流,但是在Java中可以将它们打包到基于字符的流中使用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。