InputStream 抽象父类
OutputStream 抽象父类
方向 单位 功能
FileInputStream 输入流 字节流 节点流
int read()
方法直接返回读到的数据
int read(byte[] data)
方法返回实际读取的字节个数
int read(byte[] data,int off,int len)
方法同样返回实际读取的字节个数
FileOutputStream 输出流 字节流 节点流
void write(int data)
void write(byte[] data)
void write(byte[] data,int off,int len)
*:输出流连接的文件 无论是否存在都会自动地被新文件替换
*:构造方法第二个参数 true 代表追加模式打开源文件
*:输出流连接的目录如若不存在 直接出现异常
*:输入流和输出流 不能连续的创建并且指向同一文件
为节点流添加缓冲空间 从而提高每次读写的数据量 从而降低读写次数 提高效率
BufferedInputStream 输入流 字节流 过滤流
int read(byte[] data,int off,int len)
BufferedOutputStream 输出流 字节流 过滤流
void write(byte[] data,int off,int len);
清空缓冲区的条件:
1 缓冲空间满了
2 关闭流 bos.close();
3 手动清空 flush();
构造方法(节点流,缓冲空间大小)
为节点流添加读写基本数据类型内存原型的功能
DataInputStream 输入流 字节流 过滤流
DataOutputStream 输出流 字节流 过滤流、
Reader
Writer
FileReader
int read()
int read()
int read()
FileWriter
void write(int data)
void write(char[] data)
void write(char[] data,int off,int len)
BufferedReader
readLine()
BufferedWriter
write(String) newLine() *:flush()/close()
PritnStream 字节
PrintWriter 字符
1.既能当作节点流 又能当作过滤流
2.既可以连接字节流 又可以连接字符流
3.可以在构造方法第二个参数指定autoFlush 自动清空缓冲
4.可以在构造方法第二个参数指定字符集
5.我们对它一点也不陌生 用法等价于System.out
println() = write() + newLine()
桥转换器
InputStreamReader
OutputStreamWriter