javaIO包括对硬盘文件的操作以及对内存文件的操作。
节点流:直接与数据文件打交道。
硬盘文件包含两种操作方式,一种是对字节流操作,一种是对字符流操作。硬盘文件可以比较大,而且JVM操作硬盘文件是需要通过操作系统来实现的,所以释放是通知OS释放,执行释放的是OS。FileInputStream,FileOutputStream,FileReader,FileWriter.
内存文件是对字节数组流进行操作。内存可以看作是电脑上的一块内存,或者是网络上的一块内存,或者是远程服务器上的一块内存。因为是内存,所以jvm是可以直接访问的,所以要释放可以通过jvm的gc进行自动回收,而且内存大小有限,字节数组不可以过大。ByteArrayInputStream,ByteArrayOutputStream.
处理流:对节点流的封装
字节缓冲流BufferedOutputStream,BufferedInputStream(对FileInputStream,FileOutputStream的装饰)提高操作性能和缓存性能。
字符缓冲流BufferedReader,BufferedWriter(对FileReader和FileWriter的封装)
转换流:将字节流与字符流的桥梁字符流,并为字节流指定字符集
InputStreamReader,OutputStreamWriter
数据流:处理基本数据类型和字符串
DataInputStream,DataOutputStream
对象流:序列化与反序列化
ObjectInputStream(反序列化),ObjectOutputStream(序列化)
https://www.cnblogs.com/qwe404/p/9009394.html
打印流
PrintStream
随机流
RandomAccessFile
合并流
SequenceInputStream
javaIO【学习笔记】
最新推荐文章于 2024-01-09 12:06:09 发布