一.I/O流
I/O(Input/Output)流,即输入输出流,可以分为字节流与字符流、输入流与输出流、节点流与处理流。Java中的I/O流主要定义在java.io包中,在此包下定义了很多类,其中有4个类是顶级类,分别为InputStream和OutputStream,Reader和Writer.
- InputStream和OutputStream是字节流,而Reader和Writer是字符流
- InputStream和Reader是输入流,而OutputStream和Writer是输出流
二.字节流
1.字节流的概述
在计算机中,文本、图片、音频、视频等所有文件都是以二进制(字节)形式存在的,I/O流中针字节的输入/输出提供了以系列的流,统称为字节流,在JDK中,所有的字节输入流都继承自InputStream,所有的字节流都继承自OutputStream
InputStream被看成一个输入管道,OutputStream被看成一个输出管道,数据通过InputStream从源设备输入到程序,通过OutputStream从程序输出到目标设备,从而实现数据的传输。
2.案例演示
行读取键盘输入的数据
package net.yh.lesson24;
/**
* 功能:行读取键盘输入的数据
* 作者:王育红
* 日期:2020年08月14日
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Examples403 {
public static void main(String[] args) {
int a;
/**
* system.in - 标准字节输入流
* inputstreamreader 转换流
* Bufferereader 缓冲流 提供了高效的读取方法
*/
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("a = ");
try {
a = Integer.parseInt(br.readLine());
a = a + 150;
System.out.println("a + 150 = " + a);