预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Java流在处理上分为字符流和字节流。字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。 Java内用Unicode编码存储字符,字符流处理类负责将外部的其他编码的字符流和java内Unicode字符流之间的转换。而类InputStreamReader和OutputStreamWriter处理字符流和字节流的转换。字符流(一次可以处理一个缓冲区)一次操作比字节流(一次一个字节)效率高。 (一)以字节为导向的stream------InputStream/OutputStream InputStream和OutputStream是两个abstact类,对于字节为导向的stream都扩展这两个鸡肋(基类^_^); 1、InputStream 1.1 ByteArrayInputStream--把内存中的一个缓冲区作为InputStream使用. construct--- (A)ByteArrayInputStream(byte[])创建一个新字节数组输入流(ByteArrayInputStream),它从指定字节数组中读取数据(使用byte作为其缓冲区数组) (B)---ByteArrayInputStream(byte[],int,int)创建一个新字节数组输入流,它从指定字节数组中读取数据。 ---mark::该字节数组未被复制。 1.2 StringBufferInputStream--把一个String对象作为InputStream. construct--- StringBufferInputStream(String)据指定串创建一个读取数据的输入流串。 注释:不推荐使用StringBufferInputStream方法。此类不能将字符正确的转换为字节。 同JDK1.1版中的类似,从一个串创建一个流的最佳方法是采用StringReader类。 1.3 FileInputStream--把一个文件作为InputStream,实现对文件的读取操作 construct--- (A)FileInputStream(Filename)创建一个输入文件流,从指定的File对象读取数据。 (B)FileInputStream(FileDescriptor)创建一个输入文件流,从指定的文件描述器读取数据。 (C)-FileInputStream(Stringname)创建一个输入文件流,从指定名称的文件读取数据。 method----read()从当前输入流中读取一字节数据。 read(byte[])将当前输入流中b.length个字节数据读到一个字节数组中。 read(byte[],int,int)将输入流中len个字节数据读入一个字节数组中。 1.4 PipedInputStream:实现了pipe的概念,主要在线程中使用.管道输入流是指一个通讯管道的接收端。 一个线程通过管道输出流发送数据,而另一个线程通过管道输入流读取数据,这样可实现两个线程间的通讯。 construct--- PipedInputStream()创建一个管道输入流,它还未与一个管道输出流连接。 PipedInputStream(PipedOutputStream)创建一个管道输入流,它已连接到一个管道输出流。 1.5 SequenceInputStream:把多个InputStream合并为一个InputStream.“序列输入流”类允许应用程序把几个输入流连续地合并起来, 并且使它们像单个输入流一样出现。每个输入流依次被读取,直到到达该流的末尾。 然后“序列输入流”类关闭这个流并自动地切换到下一个输入流。 construct--- SequenceInputStream(Enumeration)创建一个新的序列输入流,并用指定的输入流的枚举值初始化它。 SequenceInputStream(InputStream,InputStream)创建一个新的序列输入流,初始化为首先读输入流s1,然后读输入流s2。 2、OutputSteam 2.1 ByteArrayOutputStream:把信息存入内存中的一个缓冲区中.该类实现一个以字节数组形式写入数据的输出流。 当数据写入缓冲区时,它自动扩大。用toByteArray()和toString()能检索数据。 constructor (A)---ByteArrayOutputStream()创建一个新的字节数组输出流。 (B)---ByteArrayOutputStream()创建一个新的字节数组输出流。 (C)---ByteArrayOutputStream(int)创建一个新的字节数组输出流,并带有指定大小字节的缓冲