Java字节流和字符流的区别
1. 方法区别
字节流 InputStream OutputStream
字符流 Reader Writer
2. 操作的基本单元区别
字节流操作基本单元为字节
字符流操作的基本单元为Unicode
3. 操作方式的区别
字节流不使用区缓冲区(内存),即使不关闭资源(使用close方法)文件也可以输出
字符流使用缓冲区,不关闭资源(使用close方法)不会输出内容,也可以使用flush刷新缓冲区,这才能再不关闭资源(使用close方法)的情况下输出信息
4. 处理的数据类型的区别
字节流统筹用于处理二进制数据,可以处理任意型数据,但不支持写入或读取Unicode源码
字符流通常用于处理文本数据,它支持读取写入Unicode源码
建议总结:如果要java程序实现一个拷贝功能,应该选用字节流进行操作(可能拷贝的是图片),并且采用边读边写的方式(节省内存)。
IO流操作流程:
使用File类打开一个文件
通过字节流或字符流的子类,指定输出的位置
进行读/写操作
关闭输入/输出 !注意!: IO操作属于资源操作,一定要记得关闭