Java中的io笔记[Java编程]
本文“Java中的io笔记[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Java 流在处理上分为字符流和字节俭.字符流处理的单元为 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 个字节数据读入一个字节数组中.
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) 成立一个新的字节数组输出流,并带有指定大小字节的缓冲区容量.
toString(String) 按照指定字符编码将缓冲区内容转换为字符串,并将字节转换为字符.
write(byte[], int, int) 将指定字节数组中从偏移量 off 开始的 len 个字节写入该字节数组输出流.
write(int) 将指定字节写入该字节数组输出流.
writeTo(OutputStream) 用 out.write(buf, 0, count) 调用输出流的写办法将该字节数组输出流的全部内容写入指定的输出流参数.
2.2
FileOutputStream: 文件输出流是向 File 或 FileDescriptor 输出数据的一个输出流.
constructor
(A)FileOutputStream(File name) 成立一个文件输出流,向指定的 File 对象输出数据.
(B)FileOutputStream(FileDescriptor) 成立一个文件输出流,向指定的文件描写器输出数据.
(C)FileOutputStream(String name) 成立一个文件输出流,向指命名称的文件输出数据.
(D)FileOutputStream(String, boolean) 用指定系统的文件名,成立一个输出文件.
2.3
PipedOutputStream: 管道输出流是指一个通讯管道的发送端. 一个线程通过管道输出流发送数据,
而另一个线程通过管道输入流读取数据,这样可实现两个线程间的通讯.
constructor
(A)PipedOutputStream() 成立一个管道输出流,它还未与一个管道输入流衔接.
(B)PipedOutputStream(PipedInputStream) 成立一个管道输出流,它已衔接到一个管道输入流.
以上是“Java中的io笔记[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |