请根据自己的理解回答下面问题:
1.输入流读取有几种方式,输出流写出有几种方式?
read() 读取一个字节
read(byte[] b) 读取一个字节数组
read(byte[] b,int off,int len) 读取一部分字节数组
字符流读取
read() 读取一个字符
read(char[] b) 读取一个字符数组
read(char[] b,int off,int len) 读取一部分字符数组
字符缓冲流读取
readLine() 读取 一行
字节输出流
write()写入一个字节
write(byte[] b)写入一个字节数组
write(byte[] b,int off,int len) 写入一部分字节数组
字符输出流
write() 读取一个字符
write(char[] b) 读取一个字符数组
write(char[] b,int off,int len) 读取一部分字符数组
write(String b) 读取一个字符串
write(String[] b,int off,int len) 读取一部分字符串数组
2.字符流和字节流的区别?
字符流就是字节+编码集 根据编码集对字符进行操作;但是无法读取非文本文件
而字节无法判断编码集,所以在读取汉字时会有乱码现象,可以读取非文本文件
3.缓冲流为什么会提高IO流读写的效率?
缓冲流内部维护一个缓冲区 ,读写的数据会存在这个缓冲区中,
当缓冲区内存被沾满时,才跟硬盘交互;大大减少了与硬盘的交互次数,提高效率 |