异常分类:
Exception RuntimeException
非运行时期异常 运行时期异常
自定义异常
IO流:
Java中的io流是用来处理不同设备间的输入输出问题的
io流操作的类都在io包中;
io流分类:
流向分:
输入流 读取数据
输出流 写入数据
按操作数据不同:
字节流
字符流
File类:
构造方法
常见方法:
创建:
createNewFile():当文件不存在时,创建文件
当没有给出指定路径时,以当前项目路径为文件创建路径。
相对路径和绝对路径---常使用【相对路径+绝对路径】
public boolean mkdir():创建文件夹【目录】
public boolean mkdirs():创建多级文件夹
注意事项:要调用那个方法,自己一定要明白。
删除:
public boolean delete():删除文件【夹】
注意:删除目录下还有内容,必须把所有内容删除完毕后,再删目录
删除文件不走回收站
判断:
boolean exits():判断file对象是否存在
boolean isFile():判断file对象是否是文件夹
boolean isDirectory():判断file对象是否是文件夹
boolean isAbsolute():判断file对象是否是绝对路径
boolean canRead():判断file对象是否可读
boolean canWrite():判断file对象是否是可写
boolean isHidden():判断file对象是否隐藏
获取:
String getAbstractPath():获取绝对路径
String getPath():获取相对路径
String getName():获取文件【夹】名
long length():获取长度,字节数
long lastModified():获取最后的修改时间毫秒值
重要的获取功能:
public static Files[] listRoots():列出系统文件根目录
public String[] lists():返回指定目录下,文件【夹】的名称数组
public File[] listFiles():返回指定目录下,文件【夹】的对象数组
文件过滤器:
public String[] list(FilenameFilter filter)
1:final,finally,finalize的区别:
final:关键字修饰符;
修饰类,该类不能被继承;
修饰变量,变量是一个常量,在定义时就赋初值,以后只能引用,不能修改;
修饰方法,该方法不能被子类重写;
finally:异常处理的一个模块,一般情况下,finally中的代码都会被执行,常用与清除操作。
finalize:方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。
2:finally里面的代码永远会执行:
不一定永远执行,如在执行finally前执行了System.exit(0);硬件毁坏,断电等也会可能中断执行。
3:在catch里有return语句,finally中的代码是否执行;若执行,是在return前,还是return后:
结论:
1、不管有木有出现异常,finally块中代码都会执行;
2、当try和catch中有return时,finally仍然会执行;
3、finally是在return后面的表达式运算后执行的,函数返回值是在finally执行前确定的;
4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值