当前位置: 首页 > 教程 > Java IO流 >

什么是Java IO流

精华
小牛编辑
368浏览
2023-03-14

1 什么是Java IO流

Java I/O(输入和输出)用于处理输入并产生输出。

Java使用流的概念来加快I/O操作的速度。java.io软件包包含输入和输出操作所需的所有类。

我们可以通过Java I/O API 在Java中执行文件处理。

2 什么是Stream(流)

Stream是数据序列。在Java中,流由字节组成。之所以称其为流,是因为它就像不断流动的水流一样。

在Java中,会自动为我们创建3个流。所有这些流都随控制台附带。

  1. System.out:标准输出流
  2. System.in:标准输入流
  3. System.err:标准错误流

让我们看一下打印输出的代码和一条错误消息到控制台。

System.out.println("simple message");  
System.err.println("error message");  

让我们看一下从控制台获取输入的代码。

int i=System.in.read();//返回第一个字符的ASCII码
System.out.println((char)i);//将字符打印出来

3 OutputStream和InputStream

OutputStream

Java应用程序使用输出流将数据写入目标。它可以是文件,阵列,外围设备或Socket套接字。

InputStream

Java应用程序使用输入流从源中读取数据。它可以是文件,阵列,外围设备或Socket套接字。

让我们通过下图了解Java OutputStream和InputStream的工作。

3.1 OutputStream的介绍

OutputStream类是一个抽象类。它是代表字节输出流的所有类的超类。输出流接受输出字节并将其发送到某个接收器。

3.2 OutputStream的方法

方法 描述
public void write(int)throws IOException 用于将字节写入当前输出流。
public void write(byte[])throws IOException 用于将字节数组写入当前输出流。
public void flush()throws IOException 刷新当前输出流。
public void close()throws IOException 用于关闭当前输出流。

3.3 OutputStream的层次结构

3.4 InputStream的介绍

InputStream类是一个抽象类。它是代表字节输入流的所有类的超类。

3.5 InputStream的方法

方法 描述
public abstract int read()throws IOException 从输入流中读取下一个数据字节。它在文件末尾返回-1。
public int available()throws IOException 返回可以从当前输入流读取的字节数的估计值。
public void close()throws IOException 用于关闭当前输入流。

3.6 InputStream的层次结构