java io字符流和字节流的区别及应用
3个回答
展开全部
字符由字节组成,字符读起来比较快,适合解析文本文件,但是像音频,视频等最好用字节流处理,不然会使文件不完整
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Java字符流是处理字符(Char)对象用的,字节流是处理字节(Byte)对象用的。处理的目标对象不同,处理方法也就不一样了。
字符流处理的基本单位是字符(Java中的字符是16位的),输入流以Reader为基础,输出流以Writer为基础;
字节流的基本单位是字节(Java中的字节是8位的),输入流以 InputStream为基础,输出流以 OutputStream为基础;
字符流在输入时可以按字符读取,也可以按行读取,会去掉回车换行,常用于读取字符数据;
而字节流按字节读取,不作任何处理,常用于读取二进制数据;
Java中的字符在内部都是使用Unicode进行表示的,因此,要正确读取字符数据,需要知道字符的编码字符集,字符流提供编码字符集的指定,如果不指定使用系统默认的方式对字符数据进行编码转换,这个编码字符集不正确,会造成读进来的地字符出现乱码;
字节流虽然是读取二进制数据用的,但也可以读取字符文件,按字节进行处理,读进来之后可以根据编码字符集进行转换,也可以变成字符串。
字符流处理的基本单位是字符(Java中的字符是16位的),输入流以Reader为基础,输出流以Writer为基础;
字节流的基本单位是字节(Java中的字节是8位的),输入流以 InputStream为基础,输出流以 OutputStream为基础;
字符流在输入时可以按字符读取,也可以按行读取,会去掉回车换行,常用于读取字符数据;
而字节流按字节读取,不作任何处理,常用于读取二进制数据;
Java中的字符在内部都是使用Unicode进行表示的,因此,要正确读取字符数据,需要知道字符的编码字符集,字符流提供编码字符集的指定,如果不指定使用系统默认的方式对字符数据进行编码转换,这个编码字符集不正确,会造成读进来的地字符出现乱码;
字节流虽然是读取二进制数据用的,但也可以读取字符文件,按字节进行处理,读进来之后可以根据编码字符集进行转换,也可以变成字符串。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询