什么是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个流。所有这些流都随控制台附带。
- System.out:标准输出流
- System.in:标准输入流
- 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 | 用于关闭当前输入流。 |