IO流:存取皆为文件;
字节流文件:字节 byte ,可以以字节为单位存取数据
字符流文件:在java中,字符使用是双字节的Unicode编码
对象流文件:在java中,还可以以对象为单位存取数据;
IO章节的设计是“面向抽象类”的。
使用抽象类的引用,来操纵其具体的子类;
字节流的抽象父类:
输出:
java.io.OutputStream
|java.io.FileOutputStream
|File
输入:
java.io.InputStream
|java.io.FileInputStream
|File
字符流的抽象父类:
输出:
java.io.Writer
|java.io.FileWriter
|File
输入:
java.io.Reader
|java.io.FileReader
|File
对象流:类是类操作
输出:
java.io.ObjectOutputStream
|java.io.FileOutputStream
|File
输入:
javao.io.ObjectInputStream
|java.io.FileInputStream
|File
使用Io包中的类处理的通常不是“堆区”资源,而是“系统资源”。
要点在于系统资源不会被垃圾回收器自动回收,只能“手动释放”!
在java中实际上有三类资源:
1、 可以自动回收的“堆区”资源,使用垃圾回收器机制完成;
2、 自动回收的“栈区”资源,超过生命周期时由程序自动回收;
3、 由程序员手动释放的资源,属于系统资源
a) io包中类操纵的系统资源
b) sql包中类操纵的系统资源
c) 使用以上两个包中的接口或类时,通常会有检查异常要处理;
写入字节流时:
向文件中写入单个字节:
使用最多的向文件中写入字节的方法,以字节数组为单位;
读取字节流文件时:
获取单个字节的方法:
使用较多的从字节流文件中读取字节,将字节存储到字节数组中:
字符流的写读操作:
写入单个字符的方法:
常用的写方法:
常用的方法:
读取字符流文件:
读取单个字符:
读取字符,存入到字符数组中。
在java中,将文件和文件夹共同封装为File类型;
几个重要的需要掌握的方法:
判断文件是否存在?
获取文件的绝对路径:
判断是否文件或文件夹?
查询某个已经存在的目录下有哪些子目录和文件:
一个重要的根据过滤规则获取文件的方法: