java io流

2018-12-04  本文已影响4人  join_a922

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--选择器

上一篇下一篇

猜你喜欢

热点阅读