目录
IO:input&output
字节流&缓冲流&字符流
流:
流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序列或字符序列。从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插入操作。用来进行输入输出操作的流就称为IO流。IO流就是以流的方式进行输入输出。
字节流
//功能的扩展
InputStream in = new FileInputStream("path")
int i = 1
//执行业务逻辑操作
while((i = in.read()) != 1){println(i);}
FileInputStream获取File里的内容一个一个字节的处理,然后read(读取)打印,流程如上图!
缓冲流
//功能的扩展
InputStream in = new BufferedInputStream(new FileInputStream"path")
int i = 1
//执行业务逻辑操作
while((i = in.read()) != 1){println(i);}
FileInputStream获取File里的内容一个一个字节的处理,BufferedInputStream有一个Buff缓冲区,字节到Buff缓冲区后停留在缓冲区中,缓冲区到了阈值会read(读取)打印,流程如上图!
字符流
//功能的扩展
Reader in = new BufferedReader(new InputStreamReader(new FileInputStream("path"),"UTF-8"))
String i = null
//执行业务逻辑操作
while((i = in.readLine()) != null){println(i);}
FileInputStream获取File里的内容一个一个字节的处理,InputStreamReader有一个Buff缓冲区,字节到Buff缓冲区后停留在缓冲区中,UTF-8三个字节合成一个字符,合成的字符进入Buffered Reaber的Buff缓冲区中,缓冲区到了阈值会read(读取)打印,流程如上图!
注:
英文一个字节一个字符;
韩文等等二个字节一个字符;
UTF-8三个字节一个字符。
本文仅仅是学习笔记的记录!