当前位置:首页 » 编程语言 » 字节流java

字节流java

发布时间: 2025-06-13 05:11:55

‘壹’ 关于java流的问题,字节流与字符流,为什么要用转换流,把字节转换成字符流,为什么不直接用字符流

你好,很高兴为你解答。
正如你所说Java IO分两种流 1)字节流 InputStream OutputStream ;2)字符流 Reader Writer 。
为什么需要用两种流,而且要转换,不直接用字符流。
简单说来,就是字符流不能处理所有的情况,字节流也不能处理所有的情况。所以需要两种转换。
先说一下二者的区别:
1)字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符卖肆数组或字符串,
2)而字节流处理单元为1个字节, 操作字节和字节数组。
字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串; 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而友配镇字符流就可以。
所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多好粗国语言支持性比较好!
如果是 音频文件、图片、歌曲,就用字节流好点。
如果是关系到中文(文本)的,用字符流好点。

‘贰’ Java字符流和字节流对文件操作的区别

Java字符流是处理字符(Char)对象用的,字节流是处理字节(Byte)对象用的。处理的目标对象不同,处理方法也就不一样了。
字符流处理的基本单位是字符(Java中的字符是16位的),输入流以Reader为基础,输出流以Writer为基础;
字节流的基本单位是字节(Java中的字节是8位的),输入流以
InputStream为基础,输出流以
OutputStream为基础;
字符流在输入时可以按字符读取,也可以按行读取,会去掉回车换行,常用于读取字符数据;
而字节流按字节读取,不作任何处理,常用于读取二进制数据。
Java中的字符在内部都是使用Unicode进行表示的,因此,要正确读取字符数据,需要知道字符的编码字符集,字符流提供编码字符集的指定,如果不指定使用系统默认的方式对字符数据进行编码转换,这个编码字符集不正确,会造成读进来的地字符出现乱码。
字节流虽然是读取二进制数据用的,但也可以读取字符文件,按字节进行处理,读进来之后可以根据编码字符集进行转换,也可以变成字符串。

热点内容
c语言break跳出几层循环 发布:2025-06-14 04:31:07 浏览:101
预编译指令被包含的文件的扩展名 发布:2025-06-14 04:22:18 浏览:563
数组去重php 发布:2025-06-14 04:20:48 浏览:399
新浪微博密码去哪里找 发布:2025-06-14 04:19:20 浏览:382
notepad调试php 发布:2025-06-14 04:19:10 浏览:52
脚本外挂科技 发布:2025-06-14 04:11:20 浏览:406
项目网源码 发布:2025-06-14 04:09:09 浏览:376
怎么把图片弄成压缩包 发布:2025-06-14 04:04:46 浏览:512
sqlexecsql语句 发布:2025-06-14 04:01:03 浏览:431
linux查看时区 发布:2025-06-14 03:54:46 浏览:362