问答详情
源自:5-1 字节字符转换流

请问关于本章的几个疑问

请问大家关于这节中的char,没有弄懂。也就是说java中的文本其实也就是char组成的对吧,这个char也就是数据类型中的字符型对吧。

还有关于老师为什么要不flush()写入while循环中,这样不是每次在缓存区读到之后就立马强制写入了拷贝文本中,不就失去了缓存区的意义了吗

提问者:hy_wang 2017-10-17 19:28

个回答

  • 我是叶霖
    2018-05-25 19:32:33

    老师写的是字符串数数组,将读取的内容放在字符串数组中,不需要缓冲区

    当你使用BufferedInputStreams时候需要用到缓冲区,这个时候在写.fiush();

  • 卧龙绝圣
    2017-10-18 23:16:03

    flush() 是清空,而不是刷新。
    一般主要用在IO中,即清空缓冲区数据,就是说你用读写流的时候,其实数据是先被读到了内存中,然后用数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,因为还有一部分有可能会留在内存这个缓冲区中。这时候如果你调用了 close()方法关闭了读写流,那么这部分数据就会丢失,所以应该在关闭读写流之前先flush(),先清空数据。

  • 卧龙绝圣
    2017-10-18 23:15:30

    flush() 是清空,而不是刷新。
    一般主要用在IO中,即清空缓冲区数据,就是说你用读写流的时候,其实数据是先被读到了内存中,然后用数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,因为还有一部分有可能会留在内存这个缓冲区中。这时候如果你调用了 close()方法关闭了读写流,那么这部分数据就会丢失,所以应该在关闭读写流之前先flush(),先清空数据。