Input Output
IO的参照物:
当前运行程序:
从硬盘中读取数据到内存中供程序使用:input
从程序的内存中将数据保存到硬盘中:output
pipe 管道文件
socket套接字
Air Drop隔空投送
按照处理的数据单位来做划分:
字节流:
玩玩全全按照二进制编码格式,一个字节一个字节huoqu
字符流:
其实也是字节流操作,但是会考虑当前系统的编码问题
会将读取的字节数据根据当前使用的字符集进行翻译
输入流和输出流,字节流和字符流
InputStream FileInputStream
OutputStream FileOutputStream
Reader FileReader
Writer FileWriter
1.使用缓冲流效率更高,原因是解决了内存访问硬盘的次数过多导致的时间的浪费
通常缓冲流使用的缓冲空间一般都是4kb或者8kb
2.FileWriter 不是直接把数据写入到磁盘,而是在内存中间建立了一个缓冲区,用于保存用户想要写入到硬盘的数据,有三种情况才会真正的写入数据到硬盘:
1->缓冲区满了
2->调用flush,清空缓冲区
3->FileWriter输入管道关闭
3.字节流和字符流选择
字节流基本上可以满足所有的文件内容传输需求
字节流,个人建议,只用来处理记事本可以打开的可视化文件