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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 、__WSD吴少东 中级黑马   /  2013-4-19 21:44  /  1714 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 、__WSD吴少东 于 2013-4-19 22:47 编辑

今天看了一天转换流的关系,感觉越看越模糊,
有那么几点疑问
1.一个字符流,在什么情况下需要转化成字节流,只是为了操作方便么?除了那个字符编码表的情况
2.转化流,到底是要做什么? 大神们不贴例子能够讲解清楚最好
3.涉及到什么样的数据时,使用转化流?

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

3 个回复

倒序浏览
字节流 FileInputStream FileOutputStream 字符流 FileReader FileWriter        字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!如果是音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点.     所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列.      字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串; 2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。 字节流转换成字符流可以用 InputSteamReader OutputStreamWriter

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
1.字符流一般不是用转换成字节流,但是反过来有必要了,可以提高效率络,字符流的传输效率比字节流的高
2.流有很多种,信息的传递就要用到流。
转化流就是为了提高效率罢了 你想想有些本来就是文字啥的,用字符流多方便传递快,解析快,何必要去编程字节呢?是不是?
3.InputStreamReader/OutputStreamWriter,把字节转化成字符。
使用方式
如果使用非默认编码保存文件或者读取文件时,需要用到转换流,因为字节流的重载构造方法中有指定编码格式的参数,而FielReader 与 FileWriter 是默认编码的文本文件。

当文件是字节文件时:
     读取:提高效率用BufferedReader的独有快速方法时,需要转换。FileInputStream BufferedReader
     输出:提高效率一般用BufferedWriter缓存,需要转换。FileOutputStream  BufferedWriter
当文件是字符流时:需要转换

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报

RE: IO转换流求解惑。

偏執旳、靑春 发表于 2013-4-19 22:04
1.字符流一般不是用转换成字节流,但是反过来有必要了,可以提高效率络,字符流的传输效率比字节流的高
2. ...

谢了哥们,清楚很多了//
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马