java基础——I/O流

字节流:读取和写入数据的时候,以字节为最小单元进行读取和写入操作

字符流:读取和写入数据的时候,以字符为最小单元进行读取和写入操作,因为每个字符根据编码不同,所占用的字节个数不同,每次读取和写入字符时候,是不定长的字节个数写入读取。

输入流:把数据从其他存储机制读入到当前内存机制当中
输出流:把内存当中的数据写出到其他存储机制当中
java基础——I/O流_第1张图片

1.文件输入流 FileInputStream(字节)
文件输入流是对文件内容读取操作的类
是以字节方式进行读取文件内容,属于字节流

构造方法:

java基础——I/O流_第2张图片

方法摘要:

java基础——I/O流_第3张图片

实例参考:

(一):一个字节一个字节的输入

java基础——I/O流_第4张图片


(二):十个字节的输入:

java基础——I/O流_第5张图片

2.文件输出流FileoutputStream(字节)

文件输出流是对文件进行写入内容操作的类
是以字节方式进行写入文件内容,属于字节流

构造方法:

java基础——I/O流_第6张图片

方法摘要:

java基础——I/O流_第7张图片

实力参考:

(一):输出ASC码

java基础——I/O流_第8张图片

(二)输出文字

java基础——I/O流_第9张图片

3.Copy一个文件

(一):

java基础——I/O流_第10张图片

(二):

java基础——I/O流_第11张图片

4.文件输入流FileReader(字符)

文件字符输入流是对文件内容读取操作的类
是以字符方式进行读取文件内容,属于字符流

构造方法

java基础——I/O流_第12张图片

方法摘要:

java基础——I/O流_第13张图片

实例参考:

(一)

java基础——I/O流_第14张图片

(二)

java基础——I/O流_第15张图片

4.文件输出流FileWreter(字符)
文件字符输出流是对文件进行写入内容操作的类
是以字符方式进行写入文件内容,属于字符流

构造方法

java基础——I/O流_第16张图片

方法摘要

java基础——I/O流_第17张图片

实例参考

(一)

java基础——I/O流_第18张图片

(二)

java基础——I/O流_第19张图片

缓冲流

字节缓冲输入/输出流方法摘要
方法请参考FileInputStream/FileOutputStream方法使用格式

实例参考(字节)

输入:

java基础——I/O流_第20张图片

输出:

java基础——I/O流_第21张图片

(字符)

输入:

java基础——I/O流_第22张图片java基础——I/O流_第23张图片

输出

java基础——I/O流_第24张图片

数据输入输出流

文件流和缓冲流仅仅支持简单的字节写入写出,支持的读入写出方法局限性比较大
数据流允许应用程序以适当方式将数据以Java基本数据类型写入和读出文件
数据流提供了比文件流和缓冲流更加丰富的读入写出操作
由于数据流底层依然是字节操作,所以数据流为字节流类型的拓展包装流

java基础——I/O流_第25张图片

输入:

java基础——I/O流_第26张图片

输出:

java基础——I/O流_第27张图片

对象流

所谓对象流就是将对象进行流化后通过流传输,我们可以直接将流化后的对象进行文件读写操作
对象流化就是将java对象转化为字节序列
需要进行对象流传输的对象所关联的类必须序列化

序列化:1)需要序列化的类必须实现Serializable接口
2)Serializable接口没有抽象方法,只是标注该对象可以被序列化
3)没有实现Serializable接口类的对象是不能通过对象流传输的

java基础——I/O流_第28张图片                      

实例参考

java基础——I/O流_第29张图片java基础——I/O流_第30张图片java基础——I/O流_第31张图片                                                       




你可能感兴趣的:(java)