黑马程序员技术交流社区
标题:
什么情况下用字节流 什么情况下用字符流啊
[打印本页]
作者:
沙漠里的小鱼
时间:
2014-4-5 11:05
标题:
什么情况下用字节流 什么情况下用字符流啊
是不是如果读文件都用字符流 读图片读MAP这些都用字节流啊
作者:
1453149997
时间:
2014-4-5 11:22
字符流应用场景:操作如文本等这类字符数据的时候使用字符流
字节流应用场景:操作如图片、电影等这类二进制数据的时候使用字节流,字节流也可以操作字符流操作的数据,但是不方便。
作者:
紫^瞳
时间:
2014-4-5 11:27
明确操作的文件的类型,确定操作的文件是文本类型,使用字符流
明确了文件不是文本类型,使用字节流
如果确定不了,操作的文件,到底是什么类型,使用字节流
另外,再写点具体使用的类:
明确操作的数据源是文本类型,Reader
明确操作的数据目的是文本类型 Writer
需要提高效率吗? 数组缓冲 ,BufferedReader BufferedWriter
明确操作的数据源是非文本类型 InputStream
明确操作的数据目的是非文本类型 OutputStream
需要提高效率吗? 字节数组缓冲
数据源,数据目的,都不明确,选择InputStream OutputStream
如果数据源(目的)是非文本类型,但是源中的数据,都是文本类型,考虑使用转换流
可以将源,进行字符的操作,按行读和写,方便于开发者操作
但是,如果数据也是非文本类型,不能考虑使用转换流。转换流本身,就是字符流
不能直接操作字节数据
作者:
Saner
时间:
2014-4-5 13:37
字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节, 操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!如果是 音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点.
所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列.
字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串; 2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。
作者:
黄泉
时间:
2014-4-5 13:48
字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节, 操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!如果是 音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点.
所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列.
字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串; 2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。
例如txt、exel文件可以用字符流
针对视频文件、图片文件等实用字节流
作者:
haixian
时间:
2014-4-5 15:08
需要用到字符操作的就用字符流,对二进制文件进行操作的就用字节流,因为字符涉及字符编码的问题。不同的平台编码实现可能不一样所以对字符的操作要用字符流。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2