java IO流

来源:互联网 发布:php怎么写html 编辑:程序博客网 时间:2024/06/06 04:37

     1.结构

字节流:InputStream,OutStream

字符流:Reader,Write

Reader:读取字符流的抽象类

 BufferedReader:将字符存入缓冲区,再读取

LineNumberReader: 带行号的字符缓冲输入流

InputStreamReader:转换流,字节流和字符流的桥梁,多在编码的地方使用

 FrileReader:读取字符文件的便捷类

Write: 写入字符流的抽象类

BufferedWrite:将字符流存入缓冲区,在写入

OutputStreamWriter:转换流,字节流和字符流的桥梁,多在编码的地方使用

FileWrite:写入字符文件的便捷类

InputStream:字节输入流的所有类的超类

ByteArrayInputStream:含缓冲数组,读取内存中字节数组的数据,未涉及流

FileInputStream:从文件中获取输入字节。媒体文件

BufferedInputStream:带有缓冲区的字节输入流

DataInputStream:数据输入流,读取基本数据类型的数据

ObjectInputStream:用于读取对象的输入流

PipedInputStream:管道流,线程间通信,与PipedOutputStream配合使用

SequenceInputStream:合并流,将多个输入流逻辑串联。

OutputStream:此抽象类是表示输出字节流的所有类的超类

ByteArrayOutputStream:含缓冲数组,将数据写入内存中的字节数组,未涉及流

FileOutStream:文件输出流,将数据写入文件

BufferedOutputStream:带有缓冲区的字节输出流

PrintStream:打印流,作为输出打印

DataOutputStream:数据输出流,写入基本数据类型的数据

ObjectOutputStream:用于写入对象的输出流

PipedOutputStream:管道流,线程间通信,与PipedInputStream配合使用

2、流操作规律:

明确源和目的:

数据源:读取,InputStream和Reader

目的:写入:OutStream和Writer

数据是否是纯文本:

是:字符流,Reader,Writer

否:字节流,InputStream,OutStream

明确数据设备:

源设备:内存、硬盘、键盘

目的设备:内存、硬盘、控制台

是否提高效率:用BufferedXXX

3、转换流:将字节转换为字符,可通过相应的编码表获得

转换流都涉及到字节流和编码表


0 0
原创粉丝点击