A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

java 中从字节字符的输入输出的角度看,数据是如何读写的,比如说dos=new DataoutputStream(new FileOutputStream(tempfile));
for(int i=0;i<10;i++)
dos.Writeint((int)(Math.random()*1000);在这个过程中本人认为最后写入文件的是以byte 为单位写入,那么DataoutputStream流是以什么单位写入?
并且最后的以bytes为单位写入似乎限制了前面的DateoutputStream流的写入速度,那么这种方式跟直接以FileoutPutStream写入的流有何区别?最后都是以byte为单位写入。都是一个二进制文件,我想起了是格式编码问题?不懂,请高手指教!

2 个回复

正序浏览
黑马网友  发表于 2011-8-8 08:36:29
藤椅
不太懂,觉得它们区别不大,最内层的流一般因为读写硬盘次数过多,所以才给个包装类包着,弄个缓存。而且有些包装流的方法挺方便的,读一行什么的
回复 使用道具 举报
黑马网友  发表于 2011-8-8 05:20:31
沙发

回复 楼主 的帖子

从字节字符的输入输出的角度看,数据输出流DataoutputStream既不属于字节输出流也不属于字符输出流,它就是这么个性的数据输出流,在对于它操作的时候从不关心数据的字节大小问题,该数据输出流将那些基本  数据类型的数据以某种方式写入输出流中。然后,可以使用数据输入流将数据读入。一句话,就是把那些基本数据类型放在流中,从而对其进行操作。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马