预定义流

来源:互联网 发布:python center函数 编辑:程序博客网 时间:2024/04/29 07:07

        所有的Java程序自动导入java.lang包。该包定义了一个名为System的类,该类封装了允许时环境的多个方面。例如,使用它的某些方法,你能获得当前时间和与系统有关的不同属性。System同时包含三个预定义的流变量: in、out、err。 这些成员在System中是被定义成public和static型的,着意味着它们可以不引用特定的System对象而被用于程序的其他部分。
        System.out 是标准的输出流。默认情况下,它是一个控制台。System.in是标准输入,默认情况下,它指的是键盘。System.err指的是标准错误流,它默认是控制台。然而,这些流可以重定向到任何兼容的输入/输出设备。
        System.in 是inputStream的对象; System.out 和System.err是PrintStream的对象。它们都是字节流,尽管它们用来读写外设的字符。 如果愿意,你可以用基于字符的流来包装它们。

一个例子:

import java.io.*;

public class ReadTest {
  public static void main(String[] args) throws IOException {
    char c;
    BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
    System.out.print("Please input:");
    do {
      c = (char)br.read();
      System.out.print(c);
    }
    while (c != 'q');
  }
}

B.T.W. : System.in 在默认情况下是以行来缓冲的,着意味着在你键入Enter以前实际上是没有输入的。


原创粉丝点击