I/O流
-
基本概念
I/O 就是 Intput / Output 的简写,也就是输入/输出的含义;I/O 流就是指像流水一样不间断地进行读写数据的状态 -
基本分类
(1)按照数据读写的单位不同分为:字节流和字符流
字节流 —— 主要指以字节为单位进行读写的过程,可读写任意类型的文件
字符流 —— 主要指以字符(2个字节)为单位进行读写的过程,只能读写文本文件
(2)按照数据流动的方向不同分为:输入流和输出流
输入流 —— 主要指从文件中读取数据内容输入到程序中
输出流 —— 主要指将程序中的数据内容输入到文件中,也就是写入文件 -
基本框架
(1)字节流的顶层父类:InputStream类和OutputStream类(都为抽象类)
InputStream类的常用子类:FileInputStream类,DateInputStream类,ObjectInputStream类.
OutputStream类的常用子类:FileOutputStream类,DateOutputStream类,ObjectOutputStream类.
(2)字符流的顶层父类:Reader类和Writer类(都为抽象类)
Reader类的常用子类:BufferedReader类,InputStreamReader类
Writer类的常用子类:BufferedWriter类,OutputStreamWriter类
注:java.io.PrintStream类是OutputStream类的间接子类
FileOutputStream类 —— 字节流
1、 基本概念
java.io.FileOutputStream类主要用于写入图像数据之类的原始字节流到输出流中
2、常用的方法
- FileOutputStream(String name)
根据参数指定的文件名来构造对象 - FileOutputStream(String name, boolean append)
以追加的方式根据文件名构造对象 - void write(int b)
用于将参数指定的单个字节写入输出流 - void write(byte[] b, int off, int len)
用于将数组b中下标从off开始的len个字节写入输出流 - void write(byte[] b)
用于将数组b中所有字节写入输出流 - void close()
用于关闭流并释放有关的资源
try{
//1.构造FileOutputStream类型的对象与c:/a.txt文件关联
//当文件不存在时,该流会自动创建新的空文件
//(1)当文件存在时,该流会清空文件中的原有内容
FileOutputStream fos