io流的体系:
缓冲流
字节缓冲流
练习:
一次读取多个字节:
字节缓冲流提高效率的原理
字节缓冲流可以提高运行效率。
一个一个字节从输入到输出进行传输因为是在内存里经行的所以运行效率很快。
一个数组一个数组字节从输入到输出进行传输。
字符缓冲流
字符流中的基本流已经有缓冲区了,所以字符缓冲流提高的效率并不太多。
字符缓冲输入流:
字符缓冲输出流:
小结:
1.缓冲流有几种?
字节缓冲输入流:BufferedInputStream
字节缓冲输出流:BufferedOutputStream
字符缓冲输入流:BufferedReader
字符缓冲输出流:BufferedWriter
2.缓冲流为什么能提高性能
缓冲流自带长度为8192的缓冲区
可以显著提高字节流的读写性能
对于字符流提升不明显,对于字符缓冲流而言关键点是两个特有的方法
3.字符缓冲流两个特有的方法是什么?
●字符缓冲输入流BufferedReader:readLine()
●字符缓冲输出流BufferedWriter:newLine()
io流的原则:随用随创建
字节转换流
体系:
转换流:是字符流和字节流之间的桥梁
作用:字节流想要使用字符流中的方法
代码案例:
利用转换流读取数据
不过上面这种方式在jdk11中已经被下面这种方式淘汰了只需要了解
利用转换流写出数据
不过上面这种方式在jdk11中已经被下面这种方式淘汰了只需要了解
练习
1.将本地文件中的GBK文件,转成UTF-8
jdk11以前的方案(了解):
替代方案:
2.利用字节流读取文件中的数据,每次读一整行,而且不能出现乱码
小结:
1.转换流的名字是什么?
字符转换输入流:InputStreamReader
字符转换输出流:OutputStreamWriter
2.转换流的作用是什么?
指定字符集读写数据(JDK11之后已淘汰)
字节流想要使用字符流中的方法了