目录
1.IO流简介
2.按方向分类
3.按数据单元分类
4.按功能分类
5.总结
1)IO流用来处理设备之间的数据传输
2)java对数据的操作是通过流的方式
3)根据不同的原则有不同的分类
?
简单理解就是:以内存为中,用来操作将硬盘已有的数据读取到内存的是输入流,用来操作将内存中的数据存储到硬盘中的是输出流.输入流进行读操作,输出流进行写操作.
输入流InputStream
FileInputStream
ByteArrayInputStream
Reader
FileReader
所有字节输入流的超类
文件字节输入流
字节数组输入流
读取字符流的抽象类
文件字符输入流
输出流OutputStream
FileOutputStream
ByteArrayOutputStream
Writer
FileWriter
所有字节输出流的超类
文件字节输出流
字节数组输出流
写入字符流的抽象类
文件字符输出流
?
以字节为单位的称为字节流,义字符为单位的称为字符流.字节流可以读写任意资源,字符流是为了更便捷的读写文字.
字节流FileInputStream
ByteArrayOutputStream
文件字节输入流
字节数组输出流
字符流BufferedReader
BufferedWriter
缓冲字符输入流
缓冲字符输出流
?
直接与底层文件资源连接的称为节点流,对节点流进行包装从而完成更高级功能的称为处理流,处理流在构造时须为其指定一个节点流.
节点流FileInputStream
ByteArrayInputStream
PipedInputStream
文件流
字节数组流
管道流
处理流InputStreamReader
BufferedReader
DataInputStream
ObjectInputStream
SequenceInputStream
桥梁流
缓冲流
数据流
对象流
合并流
?
5.总结:java流体系中根据不同的原则可以对流进行不同的分类,这使得每一种流都具备不同的特性,输入流/输出流,字符流/字节流,节点流/处理流等.