欢迎来到天天文库
浏览记录
ID:34723808
大小:81.18 KB
页数:12页
时间:2019-03-10
《java字符流与字节流区别》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1.1Java字符流与字节流的区别修改浏览权限
2、删除Java流在处理上分为字符流和字节流。字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。Java内用Unicode编码存储字符,字符流处理类负责将外部的其他编码的字符流和java内Unicode字符流之间的转换。而类InputStreamReader和OutputStreamWriter处理字符流和字节流的转换。字符流(一次可以处理一个缓冲区)一次操作比字节流(一次一个字节)效率高。(一)以字节为导向的stream------In
3、putStream/OutputStreamInputStream和OutputStream是两个abstact类,对于字节为导向的stream都扩展这两个基类;1、InputStream1.1ByteArrayInputStream--把内存中的一个缓冲区作为InputStream使用.construct---(A)ByteArrayInputStream(byte[])创建一个新字节数组输入流(ByteArrayInputStream),它从指定字节数组中读取数据(使用byte作为其缓冲区数组)(B)---ByteArrayInputStream(byt
4、e[],int,int)创建一个新字节数组输入流,它从指定字节数组中读取数据。---mark::该字节数组未被复制。1.2StringBufferInputStream--把一个String对象作为InputStream.construct---StringBufferInputStream(String)据指定串创建一个读取数据的输入流串。注释:不推荐使用StringBufferInputStream方法。此类不能将字符正确的转换为字节。同JDK1.1版中的类似,从一个串创建一个流的最佳方法是采用StringReader类。1.3FileInputStre
5、am--把一个文件作为InputStream,实现对文件的读取操作construct---(A)FileInputStream(Filename)创建一个输入文件流,从指定的File对象读取数据。(B)FileInputStream(FileDescriptor)创建一个输入文件流,从指定的文件描述器读取数据。(C)-FileInputStream(Stringname)创建一个输入文件流,从指定名称的文件读取数据。method----read()从当前输入流中读取一字节数据。read(byte[])将当前输入流中b.length个字节数据读到一个字节数组中
6、。read(byte[],int,int)将输入流中len个字节数据读入一个字节数组中。1.4PipedInputStream:实现了pipe的概念,主要在线程中使用.管道输入流是指一个通讯管道的接收端。一个线程通过管道输出流发送数据,而另一个线程通过管道输入流读取数据,这样可实现两个线程间的通讯。construct---PipedInputStream()创建一个管道输入流,它还未与一个管道输出流连接。PipedInputStream(PipedOutputStream)创建一个管道输入流,它已连接到一个管道输出流。1.5SequenceInputStre
7、am:把多个InputStream合并为一个InputStream.“序列输入流”类允许应用程序把几个输入流连续地合并起来,并且使它们像单个输入流一样出现。每个输入流依次被读取,直到到达该流的末尾。然后“序列输入流”类关闭这个流并自动地切换到下一个输入流。construct---SequenceInputStream(Enumeration)创建一个新的序列输入流,并用指定的输入流的枚举值初始化它。SequenceInputStream(InputStream,InputStream)创建一个新的序列输入流,初始化为首先读输入流s1,然后读输入流s2。2、O
8、utputSteam2.1ByteArrayOutputStream:把信息存入内存中的一个缓冲区中.该类实现一个以字节数组形式写入数据的输出流。当数据写入缓冲区时,它自动扩大。用toByteArray()和toString()能检索数据。constructor(A)---ByteArrayOutputStream()创建一个新的字节数组输出流。(B)---ByteArrayOutputStream()创建一个新的字节数组输出流。(C)---ByteArrayOutputStream(int)创建一个新的字节数组输出流,并带有指定大小字节的缓冲区容量。toS
9、tring(String)根据指定字符编码将缓冲区内
此文档下载收益归作者所有