java io流中的字节流和字符流有什么区别,该如何去选择使用哪一个?

如题所述

一句话概括:字节流是由字节组成的,字符流是由字符组成的.Java里字符由两个字节组成.

扩展:字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的
但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化

补充:实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-05
字节流 传输的是字节,字符流传输的是字符,一般图片、音频等是通过字节流,文本是通过字符流,主要看你要传输的对象。
第2个回答  2012-11-05
字节流通常直接跟设备打交道。例如“文件” “网络”等等

字符流跟逻辑打交道。跟设备无关。例如:我想留种中输出一行“你好”
而这个你好通常跟设备无关。我只关心我的逻辑的正确性。而到底“你好”
被“流”送到哪里。就跟字符流《包装》的字节流相关。
第3个回答  2012-11-05
字节流传送的是2进制码
字符流传送的是askii utf-8 之类的文字编码

字符流本身也是字节流 只不过在字节流的多加了功能

Java字符流和字节流对文件操作的区别
Java字符流是处理字符(Char)对象用的,字节流是处理字节(Byte)对象用的。处理的目标对象不同,处理方法也就不一样了。字符流处理的基本单位是字符(Java中的字符是16位的),输入流以Reader为基础,输出流以Writer为基础;字节流的基本单位是字节(Java中的字节是8位的),输入流以 InputStream为基...

java字节流,字符流问题怎么判断一个文件要用字节流还是用字符流
有中文就用字符流,没中文可以用字节流,这个应该根据你具体情况而定,就是看这个文件里面内容的字符是什么样的,像中文就是一个字节放不下,需要用两个字节来存储,那么字符流一个字符一个字符的往里读,所以能读出来,你用字节流就不行了,一个字符一个字符的往里读,把一个汉字拆成一半了,到时...

字节流与字符流的区别是什么?
【答案】:要把一片二进制数据数据逐一输出到某个设备中,或者从某个设备中逐一读取一片二进制数据,不管输入输出设备是什么,我们要用统一的方式来完成这些操作,用一种抽象的方式进行描述,这个抽象描述方式起名为IO流,对应的抽象类为OutputStream和InputStream ,不同的实现类就代表不同的输入和输出设...

关于JAVA IO流
io流主要也就分两大类:一、字节流、字符流 二、输入流、输出流最基本的也就是FileInputStream\/FileOutputStream和InputStreamReader\/OutputStreamReader掌握这两种,其他也确实类似以下是看到别人总结的一些关于io流的,希望对你有帮助Java IO的一般使用原则:一、按数据来源(去向)分类:1、是文件:File...

java中的io流有哪些
Java中的IO流 指的是将不同的输入输出源通过流的形式进行输入或输出的操作,流是一种抽象的描述,在程序中指的是数据的一种转移方式。IO流的分类:(1)按照数据的流向:输入流、输出流 (2)按照流数据的格式:字符流、字节流 (3)按照流数据的包装过程:节点流(低级流)、处理流(高级流)最...

javaio流中涉及到了哪些设计模式
字符流和字节流的不同:字符流的由来:因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。字节流和字符流的区别:(1)读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。(2)处理对象...

java输入输出流怎么写,
(1)字节流表示以字节为单位从stream中读取或往stream中写入信息,即io包中的inputstream类和outputstream类的派生类。通常用来读取二进制数据,如图象和声音。(2)字符流以Unicode字符为导向的stream,表示以Unicode字符为单位从stream中读取或往stream中写入信息。区别:Reader和Writer要解决的,最主要的问题就是国际化。

Java中有几种类型的流
在Java.io包中还有许多其他的流,主要是为了提高性能和使用方便。C\/C++只能提供字节流。Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStream,Reader,Writer。Java中其他多种多样变化的流均是由它们派生出来...

java IO流想不通的问题,为什么说OutputStreamWriter是字符流通向字节...
然后通过指定的字符集把流中的字符编码成字节输出到字节流中,其作用就是一个桥梁,使得双方链接起来 理解了么??输出输入流,你可以理解为方向不一样。OutputStreamWriter的构造方法传入的是字节流,OutputStreamWriter将要输出的东西,传到OutputStream字节流,并按照制定的编码输出 ...

java io流中一个500M文件,查找出所以adcd字符串并打印出所在的行...
java的io流分为字符流和字节流,显然你需要打印行的话就使用字符流去读这个文件 你可以用这个方法试着找一下,当然我这个方法可能有错,你自己改一改,但核心就是使用java字符缓冲流,按行读取文件,rendLine方法,其次就是与adcd的匹配,在这里我用了比较笨的if判断去匹配的,可能存在问题,如果你有...

相似回答