请问字符流和字节流有什么区别? 理论上的区别小弟已经看过书了,问题是书上过于理论,只是用术语讲解。请各位高手回答小弟时用具体的实例,比如字符流在处理某些文件时占优势或者字节流根本就不能处理某些字符等等等等。万分感谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 字节流与字符流主要的区别是他们的的处理方式字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化。在从字节流转化为字符流时,实际上就是byte[]转化为String时,public String(byte bytes[], String charsetName)有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统默认的lang 所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列. int i= 7 那么i为一个字符.在Java中用两个字节表示值为0x0007 ______________________________________________________________________________________________1.字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串; 2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。 ______________________________________________________________________________________________字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的 在从字节流转化为字符流时,实际上就是byte[]转化为String时,public String(byte bytes[], String charsetName)如//把字符串按GB2312解码 hello = new String(hello.getBytes(), "GB2312"); 有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统的lang而在字符流转化为字节流时,实际上是String转化为byte[]时,byte[] String.getBytes(String charsetName)如//把字符串按UTF8解码成字节流,并打印相应的字节 hello = new String(hello.getBytes("UTF8")); 也是一样的道理 至于java.io中还出现了许多其他的流,按主要是为了提高性能和使用方便,如BufferedInputStream,PipedInputStream等(转载)_ 兄弟有难了,extree 中的radiobutton出现问题了 hibernate 子查询 ext+fckeditor 无法赋值 界面怎么实现界面以百分之多少展示的缩放级别 关于java.sql.SQLException,虚心求教。 求包! 帮我看看ssh2项目出现的这些异常该怎么解决 希望大家关注:tomcat和apache整合后的一些问题,很重要! 怎样在插入一条记录之后,快速定位到该条记录,非常急!!!在线等待,解决就给分! 征集用到Vector的jsp程序,或代码片断 用Struts上传文件,如何同时获取其他<html:text>的输入值呢? 请教高手!
字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的
但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化。在从字节流转化为字符流时,实际上就是byte[]转化为String时,
public String(byte bytes[], String charsetName)
有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统默认的lang
int i= 7 那么i为一个字符.在Java中用两个字节表示值为0x0007 ______________________________________________________________________________________________
1.字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串; 2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。 ______________________________________________________________________________________________
字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的
但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化
这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联
在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的 在从字节流转化为字符流时,实际上就是byte[]转化为String时,
public String(byte bytes[], String charsetName)
如//把字符串按GB2312解码
hello = new String(hello.getBytes(), "GB2312");
有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统的lang
而在字符流转化为字节流时,实际上是String转化为byte[]时,
byte[] String.getBytes(String charsetName)
如//把字符串按UTF8解码成字节流,并打印相应的字节
hello = new String(hello.getBytes("UTF8"));
也是一样的道理 至于java.io中还出现了许多其他的流,按主要是为了提高性能和使用方便,
如BufferedInputStream,PipedInputStream等(转载)_