java中的io笔记 - 编程入门网
java中的io笔记时间:2010-01-06 BlogJavaJava流在处理上分为字符流和字节流。字符流处理的单元为2个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。 Java内用Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和java内Unicode字符流之间的转换。而类 InputStreamReader和OutputStreamWriter处理字符流和字节流的转换。字符流(一次可以处理一个缓冲 区)一次操作比字节流(一次一个字节)效率高。 ( 一 )以字节为导向的 stream------ InputStream/OutputStream InputStream和OutputStream是两个abstact类,对于字节为导向的 stream 都扩展这两个鸡肋(基类 ^_^ ); 1、InputStream 1.1 ByteArrayInputStream -- 把内存中的一个缓冲区作为 InputStream 使用 . 如使用 http://www.5a520.cn construct--- (A)ByteArrayInputStream(byte[]) 创建一个新字节 数组输入流( ByteArrayInputStream ),它从指定字节数组中读取数据( 使用 byte 作为其缓冲区数 组) (B)---ByteArrayInputStream(byte[], int, int) 创建一个新字节数组输入流,它从指定 字节数组中读取数据。 ---mark:: 该字节数组未被复制。 1.2 StringBufferInputStream -- 把一个 String 对象作为 InputStream . construct--- StringBufferInputStream(String) 据指定串创建一个读取数据的输入流 串。 注释:不推荐使用 StringBufferInputStream 方法。 此类不能将字符正确的转换为字节。 同 JDK 1.1 版中的类似,从一个串创建一个流的最佳方法是采用 StringReader 类。 1.3 FileInputStream -- 把一个文件作为 InputStream ,实现对文件的读取操作 construct--- (A)FileInputStream(File name) 创建一个输入文件流,从指定的 File 对象读取数据。 (B)FileInputStream(FileDescriptor) 创建一个输入文件流,从指定的文件描 述器读取数据。 (C)-FileInputStream(String name) 创建一个输入文件流,从指定名称的文 件读取数据。 method ---- read() 从当前输入流中读取一字节数据。 read(byte[]) 将 当前输入流中 b.length 个字节数据读到一个字节数组中。 read(byte[], int, int) 将输入流 中 len 个字节数据读入一个字节数组中。 java中的io笔记(2)时间:2010-01-06 BlogJava1.4 PipedInputStream :实现了 pipe 的概念 ,主要在线程中使用 . 管道输入流是指一个通讯管道的接收端。 一个线程通过管道输出流发送 数据,而另一个线程通过管道输入流读取数据,这样可实现两个线程间的通讯。 construct--- PipedInputStream() 创建一个管道输入流,它还未与一个管道输出流连接。 PipedInputStream(PipedOutputStream) 创建一个管道输入流 , 它已连接到一个管道输出流。 1.5 SequenceInputStream :把多个 InputStream 合并为一个 InputStream . “ 序列输入流”类允许应用程序把几个输入流连续地合并起来, 并且使它们像单个输入流一 样出现。每个输入流依次被读取,直到到达该流的末尾。 然后“序列输入流”类关闭 这个流并自动地切换到下一个输入流。 construct--- SequenceInputStream (Enumeration) 创建一个新的序列输入流,并用指定的输入流的枚举值初始化它。 SequenceInputStream(InputStream, InputStream) 创建一个新的序列输入流,初始化为首先 读输入流 s1, 然后读输入流 s2 。 2、OutputSteam http://www.bt285.cn 2.1 ByteArrayOutputStream :把信息存入内存中的一个缓冲区中 . 该类实 现一个以字节数组形式写入数据的输出流。 当数据写入缓冲区时,它自动扩大。用 toByteArray() 和 toString() 能检索数据。 construc |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |