Java I/O流,输入流,输出流

时间:2023-02-26 16:38:58

数据流的方向:输入流Java I/O流,输入流,输出流,输出流Java I/O流,输入流,输出流(方向,判断由程序到文件还是由文件到程序

处理数据的单位:字节流(一次读入或读出是8二进制)(后缀是Stream),字符流(一次读入或读出是16二进制后缀是ReaderWriter

Java I/O流,输入流,输出流

字符流、字节流分类点击了解


节点流Java I/O流,输入流,输出流:直接与数据源相连,读入或读出。

处理流Java I/O流,输入流,输出流:与节点流一块使用,在节点流的基础上,再套接一层,套接在节点流上的就是处理流。

直接使用节点流,读写不方便,为了更快的读写文件,才有了处理流。

JdkJava I/O流,输入流,输出流提供的流继承了四大类:InputStream(字节输入流Java I/O流,输入流,输出流)OutputStream(字节输出流Java I/O流,输入流,输出流),Reader(字符输入流Java I/O流,输入流,输出流),Writer(字符输出流Java I/O流,输入流,输出流)。

流的操作规律:

   1、明确源和目的。

   数据源:就是需要读取,可以使用两个体系:InputStream、Reader;

   数据汇:就是需要写入,可以使用两个体系:OutputStream、Writer;

   2、操作的数据是否是纯文本数据?

   如果是:数据源:Reader

           数据汇:Writer 

   如果不是:数据源:InputStream

             数据汇:OutputStream

   3、虽然确定了一个体系,但是该体系中有太多的对象,到底用哪个呢?

   明确操作的数据设备。

   数据源对应的设备:硬盘(File),内存(数组),键盘(System.in)

   数据汇对应的设备:硬盘(File),内存(数组),控制台(System.out)。

   4、需要在基本操作上附加其他功能吗?比如缓冲。

   如果需要就进行装饰。

/记住,只要一读取键盘录入,就用这句话。

BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));

BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));