梳理java中的各种流概念

来源:互联网 发布:mac顶部工具栏 编辑:程序博客网 时间:2024/05/22 02:13

1.什么是流?
流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行。
设备可以是文件,网络,内存等。

2.java中哪些流?
字符流(Reader,Writer),字节流(InputStream,OutputStream)

3.为什么在字节流或者字符流上再封装一层具有缓冲的流?例如:BufferedInputStream等
对于输出地缓冲流,写出的数据,会先写入到内存中,再使用flush方法将内存中的数据刷到硬盘。这样速度更快,且可对缓冲中的数据进行修改,操作。
所以,在使用字符缓冲流的时候,一定要先flush,然后再close,避免数据丢失。