小弟是个JAVA初学者,最近在看毕向东二十五天 。 毕向东在视频中说,每执行一次write 就会将函数中的内容写入硬盘,运行速度很慢,需要使用数组将数据储存起来,再写入硬盘
可是write()函数不是将数据先写入流中,再通过flush或者close写入硬盘吗?
按照毕向东的说法,不用flush不也可以将数据写入硬盘吗,请问下其中原因 谢谢
小弟是个JAVA初学者,最近在看毕向东二十五天 。 毕向东在视频中说,每执行一次write 就会将函数中的内容写入硬盘,运行速度很慢,需要使用数组将数据储存起来,再写入硬盘
可是write()函数不是将数据先写入流中,再通过flush或者close写入硬盘吗?
按照毕向东的说法,不用flush不也可以将数据写入硬盘吗,请问下其中原因 谢谢
非也,表面上是没有手动用flush().但你用了close(),close方面里面是先调用flush(),才关闭。
不信你可以先注释掉close()相关的两行代码。会发现创建的只是空的文件,却没有内容,但放开注释,执行之后里面又有内容。