java IO 学习(一)
io的类有好多个,总结一下,给他们列出来,下一行缩进为子类:
File 文件或目录类
InputStream 字节输入流
FileInputStream 用于读取文件的原始字节流,变成字节输入流
ByteArrayInputStream 用于读取Byte[]类型的二进制文件的原始字节流,变成字节输入流。将内存中的Byte数组适配为一个InputStream。
ObjectInputStream 将任意类型的对象转变成InputStream
SequenceInputStream 将2个或者多个InputStream 对象转变为一个InputStream.
PipedInputStream 读取从对应PipedOutputStream写入的数据。在流中实现了管道的概念。
FilterInputStream: 过滤输入流,包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能
BufferedInputStream 把流转化为缓冲字节输入流
DataInputStream 一般和DataOutputStream配对使用,完成基本数据类型的读写。
PushbakInputStream 可以在读取最后一个byte 后将其放回到缓存中。
OutputStream 字节输出流
FileOutputStream 把文件转化为字节输出流的形式,用于将信息写入文件
ByteArrayOutputStream 在内存中创建一个buffer(缓冲区)。所有写入此流中的数据都被放入到此buffer中
ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream,可以使用 ObjectInputStream 读取(重构)对象
PipedOutputStream 任何写入此对象的信息都被放入对应PipedInputStream 对象的缓存中,从而完成线程的通信,实现了“管道”的概念。
FilterOutputStream: 过滤输出流,它们将已存在的输出流作为其基本数据接收器,但可能直接传输数据或提供一些额外的功能。
BufferedOutputStream 实现缓冲的输出流
DataOutputStream 通常和DataInputStream配合使用,使用它可以写入基本数据类型
PrintStream 产生具有格式的输出信息。使OutputStream能够方便地打印各种数据值表示形式
Reader 字符输入流 下面的类等同于上边的InputStream的类,把其中的字节替换成字符,其余一样
BufferedReader 用于读取文件的原始字节流,变成字符输入流
ByteArrayReader
StringReader
PipedReader
InputStreamReader
FileReader
FilterReader
PushbakReader
Writer 字符输出流 下面的类等同于上边的OutputStream的类,把其中的字节替换成字符,其余一样
BufferedWriter
PrinterWriter
StringWriter
CharArrayWriter
PipedWriter
FilterWriter
OutputStreamWriter
FileWriter