关于FileOutputStream,DataOutputStream,BufferedOutputStream的理解对错
老师说:
FileOutputStream--->write方法,相当于一滴一滴把水“转移”过去
DataOutputStream--->writexxx(如writeInt)方法,会方便一些,相当于一瓢一瓢“转移”水
BufferedOutputStream--->writexxx()方法,更方便,相当于一瓢一瓢水先放入桶(缓冲区)中,然后直接把桶里水倒入缸中
我听着反而有点怪,因为同样是一瓢一瓢,这缓冲区不是反而还多个桶倒入缸的过程,不是更慢么?
我就自己理解成这两个缸中间加一段距离,也就是说本来都是一滴一滴,或者一瓢一瓢,拿起水走到另一个缸旁边把水倒进去,而缓冲区就是多了个桶,可以在这边的缸旁边一瓢一瓢把桶装满,然后提着桶过去倒水,也就是路上走的路程少了,节约的时间是从这里体现出来的?