Java-异常、File

1.异常

1.1异常定义

异常:异常就是代表程序出现的问题

Throwable异常包括Error和Exception

Error异常代表的是系统级别的错误,属于严重问题。系统一旦出现问题,孙公司会把这些错误封装成Error对象。

Exception:叫做异常,代表程序可能出现的问题。我们通常会用Exception以及其他子类来封装程序出现的问题。

运行时异常:RunTimeException及其子类、编译阶段不会出现异常提醒,运行时出现的异常。

编译时异常:编译阶段就会出现异常提醒。

1.2异常的作用

1)异常时用来查询bug的关键参考信息

2)异常可以作为方法内部的一致特殊返回值,以便通知调用者底层的执行情况

1.3异常的处理方式

1)JVM默认处理

把异常的名称

2)自己处理(捕获异常)

格式:可以让程序继续往下执行,不会停止

try{

可能出现异常的代码;

}catch(异常类型 变量名){

异常处理代码;

}finally{

finally里面的代码一定会被执行,除非虚拟机停止;

}

3)抛出异常

throws:写在方法定义处,表示声明一个异常,告诉调用者,使用本方法可能会有哪些异常.编译时异常必须要写,运行时异常可以不写

public void 方法() throws 异常类名1,异常类名2...{}

throw:写在方法内,结束方法,手动抛出异常对象,交给调用者,方法下面的代码不再执行

1.4Throwable的成员方法

printStackTrace,底层通过System.err.println以红色字体输出异常的错误信息。只打印错误信息,不会停止程序运行

1.5自定义异常

1)定义异常关系

2)写继承关系

3)空参构造

4)带参构造

意义:为了让控制台的报错信息更加见名知意

2.File

2.1File的定义

File对象就表示一个路径,可以是文件的路径、也可以是文件夹的路径

2.2File的成员方法

1)判断、获取

length:返回文件的大小(字节数量)。这个方法只能获取文件的大小,单位是字节,如果单位是M或G可以不断除以1024。这个方法无法获取文件夹的大小。

getName:对于文件,返回的是文件名+后缀名,对于文件夹只返回文件夹的名字

2)创建、删除

createNewFile细节:

--创建一个新的空的文件,如果当前路径表示的文件是不存在的,则创建成功,方法返回true,如果当前路径是存在的,则创建失败,返回false。

--如果父级路径是不存在的,那么方法会有异常IOException。

--创建出来的一定是文件,如果路径中没有写后缀名,那么创建出来的是一个没有后缀名的文件。

mkdir细节:只能创建单级文件夹,无法创建多级文件夹。

mkdirs细节:既可以创建单级文件夹又可以创建多级文件夹

delete方法默认只能删除文件和空文件夹,会直接将东西删除不走回收站

3)获取和遍历

细节:

1)当调用者File表示的路径不存在时或者不是文件时,返回null

2)当调用者File表示的路径时一个空文件夹时,返回一个长度为0的数组

3)当调用者File表示的路径时应该有内容的文件夹时,将里面所有的文件和文件夹的路径放在File数组中返回

4)当调用者File表示的路径时应该有隐藏文件的文件夹时,将里面所有的文件和文件夹的路径放在File数组中返回,包含隐藏文件夹

5)当调用者File表示的路径时需要权限才能访问文件夹时,返回null

相关推荐
亦暖筑序6 小时前
Java 8老系统AI Workflow实战:把一次性AI对话升级成可恢复工作流
java·后端
敲代码的彭于晏6 小时前
Bean 生命周期完全图解:前端同学也能看懂的 Spring 核心机制
java·前端·后端
plainGeekDev7 小时前
ButterKnife → ViewBinding
android·java·kotlin
像我这样帅的人丶你还1 天前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩1 天前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构
tntxia1 天前
Mybatis的日志输入
java
亦暖筑序1 天前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
用户298698530141 天前
Java 实现 Word 文档加密与权限解除
java·后端
Yeats_Liao1 天前
14:Servlet中的页面跳转-Java Web
java·后端·架构
未秃头的程序猿1 天前
告别"if-else地狱"!Java 21模式匹配,代码优雅了10倍
java·后端·面试