Java教程-Java I/O教程

Java I/O教程
Java I/O(输入和输出)用于处理输入和生成输出。
Java使用流(Stream)的概念来加快I/O操作。java.io包包含了所有需要进行输入和输出操作的类。我们可以通过Java I/O API来进行文件处理。
流(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);//将打印字符
OutputStream vs InputStream
下面是OutputStream和InputStream类的解释:
OutputStream
Java应用程序使用输出流向目标写入数据,目标可以是文件、数组、外围设备或套接字。
InputStream
Java应用程序使用输入流从源读取数据,源可以是文件、数组、外围设备或套接字。
让我们通过下面的图示来了解Java的OutputStream和InputStream的工作原理。
OutputStream类
OutputStream类是一个抽象类,它是表示字节输出流的所有类的超类。输出流接受输出字节并将其发送到某个目标。
OutputStream的有用方法
Method | Description |
---|---|
1) public void write(int)throws IOException | 用于将一个字节写入当前输出流。 |
2) public void write(byte[])throws IOException | 用于将字节数组写入当前输出流。 |
3) public void flush()throws IOException | 刷新当前输出流。 |
4) public void close()throws IOException | 用于关闭当前输出流。 |
OutputStream的层次结构
InputStream类
InputStream类是一个抽象类,它是表示字节输入流的所有类的超类。
InputStream的有用方法
Method | Description |
---|---|
1) public abstract int read()throws IOException | 从输入流中读取下一个字节的数据。它在文件末尾返回 -1。 |
2) public int available()throws IOException | 返回可以从当前输入流中读取的字节数的估计值。 |
3) public void close()throws IOException | 用于关闭当前输入流。 |