你知道什么是java系统流吗?很多人对于什么是java系统流都不是很清楚,那么下面就一起通过简单的文章来了解一下吧。

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

上面的变量的作用域为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 
{
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基础知识,请继续关注本站来进行了解吧。