字节流和字符流区别(附例子)
字节流和字符流的用法几乎完成全一样,区别在于字节流和字符流所操作的数据单元不同,字节流操作的单元是数据单元是8位的字节,字符流操作的是数据单元为16位的字符。

区别
字节流一般用来处理图像、视频、音频、PPT、Word等类型的文件。字符流一般用于处理纯文本类型的文件
字节流本身没有缓冲区,缓冲字节流相对于字节流,效率提升非常高,字符流本身就带有缓冲区
可以用转换流来进行转换;
举个例子
把a.txt文件中的字节先转换char型数组,再转换成字符流,因为char型可能会溢出的问题。但是会以空格的形式打印出来,所以用trim()方法来去除左右空格
/**
* @Author: Adminstrator
* @Date:2021
* @Description;转换流
* InputStreamReader用于将字节输入流转换为字符输入流,
* OutputStreamWriter用于将字节输出流转换为字符输出流
* 使用转换流可以在一定程度上避免乱码,还可以指定输入输出所使用的字符集
*/
public class TestTransfer {
public static void main(String[] args) throws IOException {
FileInputStream fis=new FileInputStream("a.txt");
InputStreamReader isr=new InputStreamReader(fis);
char[] c=new char[fis.available()];
isr.read(c);
FileOutputStream fos=new FileOutputStream("b.txt",true);
OutputStreamWriter osw=new OutputStreamWriter(fos);
osw.write(new String(c).trim());
osw.close();
isr.close();
fis.close();
}
}