每天开心一点

Java 常用IO流操作详解

2019-12-06 16:14:00    六月    929    来源: https://www.cnblogs.com/shuaiguoguo/p/8883862.html

1.基本概念

IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。

2.IO流的分类

图示:(主要IO流) 

 

3.字节流

(1).字节流基类

1).InputStream

InputStream:字节输入流基类,抽象类是表示字节输入流的所有类的超类。

2).OutputStream

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

(2).字节文件操作流

1).FileInputStream

2).FileOutputStream

(3).字节缓冲流(高效流)

1).BufferedInputStream

2).BufferedOutputStream

4.字符流

(1).字符流基类

1).Reader

Reader:读取字符流的抽象类.

2).Writer

Writer:写入字符流的抽象类.

(2).字符转换流

1).InputStreamReader

InputStreamReader:字节流转字符流,它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。

2).OutputStreamWriter

OutputStreamWriter:字节流转字符流。

(3).字符缓冲流(高效流)

1).BufferedReader

BufferedReader:字符缓冲流,从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。

2).BufferedWriter

BufferedWriter:字符缓冲流,将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。

(4).FileReader、FileWriter

FileReader:InputStreamReader类的直接子类,用来读取字符文件的便捷类,使用默认字符编码。 

FileWriter:OutputStreamWriter类的直接子类,用来写入字符文件的便捷类,使用默认字符编码。

5.高效流效率比对