Java中io流的学习(总结)

Java中按照流的不同方向分为输入流和输出流,凡是含有in的,都可理解为输入流,输入流即从文件读取到程序,凡是含有out的,都可以理解为输出流,输出流即从程序输出到文件。按照单位分的话,可以分为字节流和字符流,字节流(读取-二进制文件。写入、拷贝-文本、二进制文件)中包括:

InputStream--字节输入流的基类(抽象类)

OutputStream--字节输出流的基类(抽象类)

FileInputStream--文件字节输入流

FileOutputStream--文件字节输出流

FilterInputStream--过滤器字节输入流

FilterOutputStream--过滤器字节输出流

BufferedInputStream--带有缓冲区字节输入流

BufferedOutputStream--带有缓冲区字节输出流

字节流之间的继承关系

字符流(读取、写入、拷贝文本)包括:

Reader--字符输入流(抽象类)

Writer--字符输出流(抽象类)

InputStreamReader--字符输入转换流

OutputStreamWriter--字符输出转换流

FileReader--文件字符输入流

FileWriter--文件字符输出流

BufferedReader--带有缓冲区字符输入流

BufferedWriter--带有缓冲区字符输出流

缓冲区默认大小是8192个字符,即1024*8

字符流之间的继承关系

其余的各种流:

对象流:(在文件中存储对象)

ObjectInputStream--对象输入流

ObjectOutputStream--对象输出流

要想类对象存入文件,此类必须实现序列化接口,即实现Serializable,这是一个标记型接口,接口中没有要实现的方法,序列化的过程是从程序到文件,而反序列化是从文件到程序。

打印流:

PrintStream:可以将字节流封装成打印流

PrintWriter:可以将字节流、字符流封装成打印流

可以用其进行重定向操作,即重新定义系统标准输入、输出流的方向

随机访问流:RandomAccessFile

有两种模式: r--读取  rw--读写

内存流:

ByteArrayInputStream--内存输入流

ByteArrayOutoutStream--内存输出流

内存流是关不掉的

NIO-new io:面向缓冲区的IO流

Java NIO 由以下几个核心部分组成:

Buffers--缓冲区:针对系统的缓冲区

Channels--通道:类似于BIO里面的流

Selectors--选择器

Java中io流的学习(一)File:https://blog.csdn.net/qq_41061437/article/details/81672859

Java中io流的学习(二)FileInputStream和FileOutputStream:https://blog.csdn.net/qq_41061437/article/details/81742175

Java中io流的学习(三)BuffereInputStream和BuffereOutputStream:https://blog.csdn.net/qq_41061437/article/details/81743522

Java中io流的学习(四)InputStreamReader和OutputStreamWriter:https://blog.csdn.net/qq_41061437/article/details/81745300

Java中io流的学习(五)FileReader和FileWriter:https://blog.csdn.net/qq_41061437/article/details/81747105

Java中io流的学习(六)BufferedReader和BufferedWriter:https://blog.csdn.net/qq_41061437/article/details/81747323

Java中io流的学习(七)ObjectInputStream和ObjectOutputStream:https://blog.csdn.net/qq_41061437/article/details/81748461

Java中io流的学习(八)PrintStream和PrintWriter:https://blog.csdn.net/qq_41061437/article/details/81782770

Java中io流的学习(九)RandomAccessFile:https://blog.csdn.net/qq_41061437/article/details/81805351

Java中io流的学习(十)ByteArrayInoutStream和ByteArrayOutputStream:https://blog.csdn.net/qq_41061437/article/details/81806245

Java中io流的学习(十一)NIO:https://blog.csdn.net/qq_41061437/article/details/81809370

Java中io流的学习(总结):https://blog.csdn.net/qq_41061437/article/details/81740680

猜你喜欢

转载自blog.csdn.net/qq_41061437/article/details/81740680