黑马程序员技术交流社区
标题:
BufferedOutstream需要刷新吗
[打印本页]
作者:
paozhuanyinyu
时间:
2014-8-11 23:56
标题:
BufferedOutstream需要刷新吗
问题见代码注释处
public static void copy_1() throws IOException{
BufferedOutputStream bufos = new BufferedOutputStream(new FileOutputStream("2.mp3"));
BufferedInputStream bufis = new BufferedInputStream(new FileInputStream("1.mp3"));
int byt = 0;
while((byt = bufis.read())!= -1){
bufos.write(byt);
//这里需要刷新一下吗
}
bufos.close();
bufis.close();
}
}
作者:
乐此不疲
时间:
2014-8-12 00:39
你这个代码复制不了的,应该定义一个字节数组来存储读取的内容,再把字节数组写出去
作者:
嘿~~
时间:
2014-8-12 07:46
不刷新的话,如果系统突然故障,你刚才写的数据因为没被刷新进目的地,会丢失。刷新可以保证写入的数据一直被保存进目的地,不会因为意外而丢失。
作者:
迦南
时间:
2014-8-12 07:55
不用刷新
作者:
More
时间:
2014-8-12 07:56
字节流不用刷新
作者:
申航航
时间:
2014-8-12 08:34
字符流需要刷新,字节流不需要啊
作者:
黎志勇
时间:
2014-8-12 08:56
本帖最后由 黎志勇 于 2014-8-12 08:57 编辑
甭管是不是字节流,BufferedOutputStream用了缓冲技术,要刷新。其他用到缓冲技术的流,最好都刷新一下。
作者:
ZhangYL
时间:
2014-8-12 09:00
使用到了缓冲就刷新一下吧。
作者:
郑飞
时间:
2014-8-29 15:40
谁知道这里writer(byt)到底是怎么个过程 和楼主有同样的疑惑
作者:
郑飞
时间:
2014-8-29 15:51
不用刷新 你可以看源代码 我也是找了好久才找到的 源代码中 自动判断缓冲区数组是否装满 满了自动刷新 只有最有一次关闭流就可以
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2