黑马程序员技术交流社区

标题: 什么情况下用转换流? [打印本页]

作者: 彭润生    时间: 2012-9-3 21:39
标题: 什么情况下用转换流?
本帖最后由 彭润生 于 2012-9-6 09:54 编辑

在什么时候需要转换流,用转换流的依据是什么,什么情况下使用转换流比较好?

作者: 杨习平    时间: 2012-9-3 22:09
转换流是可以这样理解,当要求把在本地盘中文件上传 到你的另一盘中时,你就要用到字符流和字节流之间的转化,
首先是将字节流转换成字符流,打印传入的时候又要将字符流转换成字节流存入到对象地址中,
还有就是图片上传的时候,字节流搞定,而用到字符流时,可能出错或者 上传之后文件不符合源文件,


作者: 袁艳超    时间: 2012-9-3 22:36
顾名思义,转换流,就是转换用的,I/O流里有字节流和字符流,所有的数据文件在计算机中都是以字节方式存储的,如果你不关心文件的内容时,完全可以不用字符流,当然有的文件你想关心也没有用,因为也只有文本文件可以用字符流读取并显示为你认识的字符,如果,你要操作文本(读或者写)文件,而且关心里面的内容时,就要用到转换流啦,一个字节一个字节的读或写,既繁琐,又要转化为String,要不然你认识呀,这时,你就可以考虑把字节流通过InputStreamReader或者OutputStreamWriter转换为字符流,字符流里有readLine方法,一读,读一行,自己又不用做转化String操作,多方便啊
作者: 彭润生    时间: 2012-9-4 07:29
袁艳超 发表于 2012-9-3 22:36
顾名思义,转换流,就是转换用的,I/O流里有字节流和字符流,所有的数据文件在计算机中都是以字节方式存储的,如 ...

不错,呵呵
作者: 焦晨光    时间: 2012-9-4 10:49
在什么时候需要转换流,用转换流的依据是什么,什么情况下使用转换流比较好?

在java中转换流的存在首先是为了提高效率

字符流的传输效率要比字节流高,所以通常情况下在用字节流处理文件时
为了提高效率通常要把字节流转换为字符流,用字符流里的特有方法,提高读写效率


另外因为字节流使用的默认编码表是固定的,可以转换为字符流
用字符流的方法改变默认的编码表,如改为Unicode字符集,支持多国文字
这样的流操作可以实现跨平台传输


总之,转换流的存在提高了字节流的效率扩展了其功能!


作者: 徐传任    时间: 2012-9-16 18:03
bucuo..........




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2