解析:Java系统流

2021-09-27 11:05

    每个Java程序运行时都带有一个系统流,系统流对应的类为java.lang.System。Sytem类封装了Java程序运行时的3个系统流,分别通过in、out和err变量来引用。这3个系统流如下所示:

    System.in:标准输入流,默认设备是键盘。

    System.out:标准输出流,默认设备是控制台。

    System.err:标准错误流,默认设备是控制台。

    以上变量的作用域为public和static,因此在程序的任何部分都不需引用System对象就可以使用它们。

    例1

    下面的程序演示了如何使用System.in读取字节数组,使用System.out输出字节数组。

public class Test01 {
    public static void main(String[] args) {
        byte[] byteData = new byte[100]; // 声明一个字节数组
        System.out.println("请输入英文:");
        try {
            System.in.read(byteData);
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("您输入的内容如下:");
        for (int i = 0; i < byteData.length; i++) {
            System.out.print((char) byteData[i]);
        }
    }
}

    该程序的运行结果如下所示:

请输入英文:
abcdefg hijklmn opqrst uvwxyz
您输入的内容如下:
abcdefg hijklmn opqrst uvwxyz

    System.in是InputStream类的一个对象,因此上述代码的System.in.read()方法实际是访问InputStream类定义的read()方法。该方法可以从键盘读取一个或多个字符。对于System.out输出流主要用于将指定内容输出到控制台。

    System.out和System.error是PrintStream类的对象。因为PrintStream是一个从OutputStream派生的输出流,所以它还执行低级别的write()方法。因此,除了print()和println()方法可以完成控制台输出以外,System.out还可以调用write()方法实现控制台输出。

    write()方法的简单形式如下:

void write(int byteval) throws IOException

    该方法通过byteval参数向文件写入指定的字节。在实际操作中,print()方法和println()方法比write()方法更常用。

    注意:尽管它们通常用于对控制台进行读取和写入字符,但是这些都是字节流。因为预定义流是没有引入字符流的Java原始规范的一部分,所以它们不是字符流而是字节流,但是在Java中可以将它们打包到基于字符的流中使用。

    以上就是小编为大家整理发布的“解析:Java系统流”一文,更多相关内容尽在开课吧Java教程频道。

解析:Java系统流

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享