美文网首页
Java中IO流浅析

Java中IO流浅析

作者: 爱你会吃醋 | 来源:发表于2015-04-01 13:32 被阅读74次

一、常见流

我们知道java中流类分为字节流和字符流。

二、关于flush()方法

许多流类都有flush()方法,我在用的时候也会感到非常困惑,什么时候我们需要使用flush()方法呢。
如果查资料,或者询问身边的人的话,我们经常会听到这样的言论:

flush()方法就是将缓冲区中的数据强制全部写入目标流中。当缓冲区中的数据满了的时候,系统会自动将会数据一次性压入目标流,但是当缓冲区还没满的时候,为了保证数据真正的写入了我们希望写入的地方,我们就需要自行调用flush()方法,否则数据将暂存在缓存中,而没有写入应该写入的地方。尤其我们如果在IO操作完毕之后没有调用close()方法,而且也没有自行调用flush()方法,就会导致一部分数据在程序结束时仍然在缓冲中,即会导致数据的丢失,甚至导致根本没有数据写入。

我们可能还是会感到疑惑。哪些类有所谓的缓冲呢?即:

哪些类需要我们手动调用flush()方法以保证IO操作的准确无误呢?

java中有一个BufferedWriter类,看类名我们就知道这个类是自带一个缓冲区的,实际上也确实是这样的。该类是一个包装类,自带一个缓冲区,当往流中写入数据时,实际上是先写入了该类中的缓冲区,当缓冲区满了之后,才会将缓冲区的数据写入实际的流中,然后重复上述操作。这样的目的是为了提高IO效率。

那是不是只有使用这个类的时候我们才需要使用flush()方法呢?

答案是否定的。事实上,在我的测试中,基本上所有的字符流都需要使用一个flush()方法来保证IO的准确操作。因而在使用字符流时,我们都应该适时调用flush()方法。

相关文章

  • Java中IO流浅析

    一、常见流 我们知道java中流类分为字节流和字符流。 二、关于flush()方法 许多流类都有flush()方法...

  • 28、说说Java 中 IO 流

    说说Java 中 IO 流 Java 中 IO 流分为几种? 1、按照流的流向分,可以分为输入流和输出...

  • 05-Java中的IO与NIO面试题(15题)

    1、Java 中 IO 流? Java 中 IO 流分为几种?按照流的流向分,可以分为输入流和输出流;按照操作单元...

  • Java之IO流详解

    title: Java之IO流详解tags: Java IO流categories: Java IO流 大多数应用...

  • Java中的IO流

    Java中的IO流分类 输入IO流输入字节流(InputStream)处理流缓冲流(BufferedInputSt...

  • IO

    一 IO中各个流的基本用法 参考: java中的IO整理 二 IO体系 参考:看完这个,Java IO从此不在难 ...

  • Java IO 笔记

    学习Java中的IO,首先要理解Java中IO的流模型。所谓流,可以假想成河流,流的数据源,就是河流的发源地,流是...

  • Java新特性之Java8的那些事儿-Stream

    什么是流? ​ Java Se中对于流的操作有输入输出IO流,而Java8中引入的Stream 属于Java ...

  • java笔记--IO流(字符流和字节流)

    IO流: 用来处理设备之间的数据传书。Java对数据的操作是通过流的方式。Java用于操作流的对象都在IO包中。流...

  • javaIO

    吃透Java IO:字节流、字符流、缓冲流 IO流是Java中的一个重要构成部分,也是我们经常打交道的。 下面几个...

网友评论

      本文标题:Java中IO流浅析

      本文链接:https://www.haomeiwen.com/subject/xneoxttx.html