java io流类的功能概述

本文深入探讨了 Java IO 流的分类、过滤流、缓冲流、数据流、内存流、文件相关、字节字符转换流和对象流等概念,并详细解释了管道流和可回溯流的作用。此外,文章还涵盖了 IO 流在不同场景下的应用实例。
摘要由CSDN通过智能技术生成
[b]java io流的分类:[/b]

1、从io流的两大操纵数据的形式分类。input stream 、output stream

2、从io流的操纵的最细粒度分类。byte(stream)、char(Reader)。

3、从使用场景的角度分类。
[b]过滤流的概念:[/b]

FilterInputStream :输入过滤流,此流的任何继承者都必须提供underlying input stream。
FilterOutputStream:输出过滤流,此流的任何继承着都必须提供数据输出的underlying output stream 。
类似的有:FilterReader,FilterWriter
其特殊之处: [b]关闭前,先刷新缓冲数据[/b]。(没搞懂sun 的公司的设计。既然不确定为缓冲流,为何这里这样实现)

public void close() throws IOException {
try {
flush();
} catch (IOException ignored) {
}
out.close();
}


[b]缓冲流的概念:[/b]

BufferedInputStream
BufferedOutputStream
BufferedReader
BufferedWriter
缓存流的特点:可以提供一定程度的缓存,提高系统的稳定性和读写效率。

[b]数据流的概念[/b]:
DataInput
DataInputStream extends FilterInputStream
DataOutput
DataOutputStream extends FilterOutputStream
缓存流的特点:实现了对underlying byte stream 按照数据的类型读和写。比如:读取int,byte等。


[b]内存流的概念[/b]:
CharArrayReader extends Reader
CharArrayWriter extends Writer
ByteArrayInputStream extends InputStream
ByteArrayOutputStream extends OutputStream
内存流的特点:实现了对byte 和 char 的数组的流形式操作。


[b]文件相关[/b]:
FileInputStream extends InputStream
FileOutputStream extends OutputStream
FileReader extends InputStreamReader
FileWriter extends OutputStreamWriter
文件流的特点:与文件相关,直接从文件中读取或者输出到文件中。文件流的读写与平台有关系,比如:一个文件是否允许多个对象同时写或者同时读,或者读和写交叉等待。

[b]字节字符转换流[/b]:
OutputStreamWriter extends Writer
InputStreamReader extends Reader

特点:可以把从流中读取的byte流转换的字符流。比如文件操作中FileReader 和 FileWriter都继承了上述转换的流。

[b]对象流[/b]
ObjectInput extends DataInput
ObjectInputStream extends InputStream implements ObjectInput
ObjectOutput extends DataOutput
ObjectOutputStream extends OutputStream implements ObjectOutput
特点:是实现byte流和java Object对象之间的转换功能。


[b]管道流[/b]
PipedInputStream
PipedOutputStream
PipedReader
PipedWriter

特点:实现两个线程之间的数据的传输。

[b]可回溯流[/b]
PushbackReader extends FilterReader
PushbackInputStream extends FilterInputStream

特点:可以回溯,就是读取字符后发现情况,可以回写到缓冲区,然后在读。当然回溯到缓冲区的数据,不会回写到 underlying stream

[b]随机文件读取[/b]
RandomAccessFile
特点:这是一个可以随机读取文件数据的api。 (这个文件的锁机制很重要,需要特别注意)


其他:
PrintStream extends FilterOutputStream
class PrintWriter extends Writer

all over
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值