1.异常:
1.分类:
Throwable
|--Error
|--Exception
|--RuntimeException(运行时异常)
|--其他异常(编译时期异常)
2.JVM默认处理异常方式:
把异常信息打印在控制台,然后把程序停止.
3.异常的处理方式:
1.try{..可能会发生异常的代码..}catch(捕捉的异常类型){..对异常的处理..}
2.try{...}catch(异常1){处理异常...}catch(异常2){.....}....
3.JDK1.7之后有了新的处理方式:(了解即可)
try{....}catch(异常1 | 异常2 | ....){....}
4.try{...}catch(Exception e){...}finally{...}
4.编译期异常和运行期异常的区别:(概念需要记住)
1.编译时期异常需要手动处理异常.
2.运行时期异常,是程序员犯的错误,可以不处理,必须修改代码.
5.异常里面的几个常用方法:(不用记)
getMessage() //获取异常信息
toString() //输出异常信息
printStackTrace() //在控制台输出异常信息.
6.异常抛出:
1.使用throw 关键字在方法中抛出一个异常对象
2.使用throws关键字在方法上做声明.
7.throw 和 throws 的区别:(概念需要记住)
1.抛出的内容:
throw 抛出的是异常对象,一次只抛出一个
throws 抛出的是异常类,可以同时抛出多个
2.使用的位置:
throw 使用在方法体内
throws 使用在方法声明上
8.finally关键字:
它是try catch 语句中的一部分.
被它修饰的代码块一定会被执行到,除了虚拟机退出.
一般在finally代码块中做释放资源的操作.
try{...}finally{...}
9.finally final finalize 三者之间的区别.(面试题)
10.finally是什么时候执行的.
在调用return的时候,先检查是否有finally代码块,如果有,先执行完finally代码块,再把值返回给调用者.
finally代码块里面的语句无法影响return语句中的值.
11.自定义异常步骤:
1.定义一个类继承Exception或者RuntimeException
2.定义有参构造,调用父类中相同的构造方法,把参数传递给父类.
12.使用异常的注意事项:
子类在重写父类方法时,不能抛出父类中没抛过的异常
如果父类中没有抛出异常,子类也不能抛.
13.在开发中如何使用异常?
在发生异常的地方,如果这个位置的内容对后面代码影响不大, 使用try catch
如果这个位置的异常会直接影响到后面的代码, 使用抛出异常
2.File类:
1.构造方法:
File(String)
File(String parent,String child) // parent+child
File(File,String)
相对路径:没有盘符的路径
绝对路径:有盘符的路径.(或者是否从根目录位置开始)
2.创建功能:
1.创建文件:
createNewFile()
2.创建文件夹:
mkdir() //创建单级目录
mkdirs() //创建多级目录 (开发中用这个就不会有问题)
3.重命名:
renameTo(File) //如果这个文件与改名后的文件是在相同路径下,就是重命名的效果
//如果两者不是在相同路径下,那就是剪切效果.
4.删除:
delete() //删除文件或者文件夹,删除文件夹时需要确定文件夹内容是否为空
5.判断功能:
exists() //是否存在
isDirectory() //是否文件夹
isFile() //是否文件
isHidden() //是否隐藏
canRead() //是否可读
canWrite() //是否可写
6.获取功能:
getAbsolutePath() //获取绝对路径
getPath() //获取构造方法中传入的路径
getName() //获取文件或文件夹的名字
length() //获取文件字节大小(不能获取文件夹的大小)
lastModified() //获取文件最后修改时间的毫秒值
list() //获取文件夹里面所有的文件或文件夹的名字
listFiles() //获取文件夹里面的所有文件或文件夹的File对象
7.文件名过滤器:
FilenameFilter
在listFiles或者list方法传入FilenameFilter的子类对象,这两个方法可以根据这个对象中的accept方法返回
的内容决定是否把文件对象或者文件名存到数组中.
|
|