您的位置:首页 > 其它

流的概念分类

2016-05-18 19:19 176 查看

基本的输出流类


java.io.OutputStream 包括write、flush、close基本方法



flush刷新输出流:强迫缓冲的流发送数据,即使缓冲区还没满,以此来打破死锁状态。

如果未关闭一个流,则可能会泄露文件句柄、网络端口和其他资源。在finally中关闭流

基本的输入流类


java.io.InputStream 包括read、skip、available、close、mark、reset、markSupported基本方法



skip()跳过数据

available确定不阻塞的情况下有多少个字节可以读取

mark标记流的当前位置,markSupported验证是否允许标记

reset重置到之前标记的位置

缓冲流


BufferedOutputStream类将写入的数据存储在缓冲区中,直到缓冲区满或刷新输出流;BufferedInputStream类也有一个作为缓冲区的保护字节数组,名为buf。当调用某个流的read方法是,它首先尝试从缓冲区获得请求的数据,只要当缓冲区没有数据时,流才从底层的源中读取数据。



缓存可以提升性能

瓶颈往往是网络传送数据的速度,而不是网络接口向程序传送数据的速度或程序运行的速度。

数据流


DataInputStream和DataOutputStream类提供了一些方法,可以用二进制的格式读写Java的基本数据类型和字符串。所用的二进制格式主要用于在两个不同的Java程序之间交换数据(可以通过网络连接、数据文件、管道或者其他中间介质)



输出流包括了writeBoolean/writeByte/writeShort等方法

输入流包括了readBoolean/readByte/readChar等方法

阅读器和书写器


最主要的子类是InputStreamReader和OutputStreamWriter,都可以指定编码方式读写流



BufferedReader和BufferedWriter为以上的过滤器类,但是这两个基于字符,上面两个基于字节。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: