反反复复看了几遍io流的知识,隔点时间就有点忘了,于是参考了许多的博客和度娘,想小小的总结一下,加深印象
分类:
按照数据流的方向:输入流与输出流
按照处理对象:字节流与字符流
按照实现功能:节点流与处理流
分析
输入流:从数据源流向程序
输出流:从程序流向数据源
字节流:读一个字节就返回一个字节,可以处理任何文件
字符流:使用字节流读一个或多个字节,查询指定的编码表,然后返回字符
节点流:与数据源直接接触的流,例如FileOutputStream/FileInputStream/ByteArrayInputStream等等
处理流,在程序与数据源起到连接与封装作用的流,比如BufferedOutputStream,ObjectInputStream等等
Java提供了四大io流类
InputStream(字节输入流) OutputStream(字节输出流) Reader(字符输入流)Writer(字符输出流)
字节输入流
字节输出流
字符输入流
字符输出流
BufferedReader有一个readLine()方法,可以读取一行字符
通过装饰模式将节点流用处理流封装后进行处理会提高数据处理效率