目录
一、异常
1、异常的分类
①、Error
②、Exception
③、小结
2、编译时异常和运行时异常
①、编译时异常
②、运行时异常
③、为什么异常要分成编译时异常和运行时异常?
④、小结(运行时异常和编译时异常的区别)
3、异常的作用
①、查看bug的关键参考信息
②、作为方法内部的一种特殊返回值
4、JVM默认的处理方式
5、try…catch(捕获异常)
①、示例代码
6、灵魂四问
①、灵魂一问:如果try中没有遇到问题,怎么执行?
②、灵魂二问:如果try中可能会遇到多个问题,怎么执行?
③、灵魂三问:如果try中遇到的问题没有被捕获,怎么执行?
④、灵魂四问:如果try中遇到了问题,那么try下面的其它代码还会执行吗?
⑤、小结
7、异常中的常见方法
①、示例代码
②、System.err
8、抛出异常
①、示例代码
②、小结
9、综合练习
10、自定义异常
二、File
1、File的概述
①、路径
②、File常见的构造方法
③、小结
2、File的常见成员方法
①、创建、删除
②、获取并遍历
通过listFiles()实现文件过滤器的效果:
listFiles(FilenameFilter filter) 利用文件名过滤器获取当前该路径下的所有内容
③、判断、获取
三、综合练习
1、File类相关的API练习题
①、在aaa文件夹中创建一个a.txt文件
②、找某一个文件夹中,是否有以avi结尾的电影(不考虑子文件夹)
③、找某一个文件夹中,是否有以avi结尾的电影(考虑子文件夹)
④、删除一个多级文件夹
⑤、统计一个文件夹中每个文件的个数并打印
⑥、统计一个文件夹的总大小
一、异常
1、异常的分类
①、Error
②、Exception
③、小结
2、编译时异常和运行时异常
①、编译时异常
②、运行时异常
③、为什么异常要分成编译时异常和运行时异常?
在编译阶段,Java不会运行代码,只会检查语法是否错误,或者做一些性能的优化
编译时异常更多的是提醒程序员检查本地信息
而运行时异常的核心在于提醒,而是代码出错而导致程序出现的问题
④、小结(运行时异常和编译时异常的区别)
3、异常的作用
示例代码:
①、查看bug的关键参考信息
②、作为方法内部的一种特殊返回值
4、JVM默认的处理方式
示例代码:
Console:
5、try…catch(捕获异常)
①、示例代码
Console:
6、灵魂四问
①、灵魂一问:如果try中没有遇到问题,怎么执行?
顺序执行,没有问题,自然就不会触发捕获异常
②、灵魂二问:如果try中可能会遇到多个问题,怎么执行?
(由于可以向上转型的问题,父类可以接收所有子类的消息,那么如果父类在最上面,那么下面的子类异常就接收不到消息了)
③、灵魂三问:如果try中遇到的问题没有被捕获,怎么执行?
④、灵魂四问:如果try中遇到了问题,那么try下面的其它代码还会执行吗?
⑤、小结
7、异常中的常见方法
①、示例代码
注意事项:
②、System.err
8、抛出异常
①、示例代码
②、小结
9、综合练习
示例代码:
GirlFriend.java:
Test.java:
10、自定义异常
NameFormatException.java:
AgeOutOfBoundsException.java:
测试类:
二、File
1、File的概述
①、路径
②、File常见的构造方法
示例代码:
Ⅰ、根据字符串表示的路径,变成File对象
Ⅱ、根据父路径名字符串和子路径名字符串创建文件对象
在Java中 \ 表示转义字符,\\才能正确表示路径分隔符
Ⅲ、根据父路径对应的文件对象和子路径名字符串创建文件对象
③、小结
变成File对象的目的,是为了使用其中的方法
2、File的常见成员方法
①、创建、删除
createNewFile():创建一个新的空的文件,创建成功返回True
mkdir():make Directory:文件夹(目录)
mkdirs 创建多级文件夹
delete() 删除文件、空文件夹
②、获取并遍历
listFIles() 获取当前路径下所有内容(重点掌握,其它了解)
listFiles()方法的细节:
listRoots() 获取系统中所有的盘符
list() 获取当前该路径下所有内容(仅仅能获取名字)
list(FilenameFilter filter) 利用文件名过滤器获取当前该路径下所有内容
文件名过滤器:只获取后缀是.txt的文件
通过listFiles()实现文件过滤器的效果:
listFiles(FilenameFilter filter) 利用文件名过滤器获取当前该路径下的所有内容
③、判断、获取
示例代码:
isDirectory()\isFile()\exists():
length()\getAbsolutePath()\getPath()\getName()\lastModified():
课堂练习:
三、综合练习
1、File类相关的API练习题
①、在aaa文件夹中创建一个a.txt文件
示例代码:
②、找某一个文件夹中,是否有以avi结尾的电影(不考虑子文件夹)
示例代码:
③、找某一个文件夹中,是否有以avi结尾的电影(考虑子文件夹)
示例代码:
④、删除一个多级文件夹
示例代码:
删除过程:
⑤、统计一个文件夹中每个文件的个数并打印
示例代码:
⑥、统计一个文件夹的总大小
代码过程: