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

相关推荐
xieliyu.2 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
明夜之约2 小时前
Spring Boot 自动装配源码
java·spring boot·后端
Leaton Lee2 小时前
Spring Boot分层架构详解:从Controller到Service再到Mapper的完整流程
java·spring boot·后端·架构
Jinkxs2 小时前
Resilience4j- 与 Spring Boot 快速集成:自动配置与基础注解使用
java·spring boot·后端
辣机小司2 小时前
【踩坑记录:Spring Boot 配置文件读取值不一致?警惕 YAML 的“八进制陷阱”与 SnakeYAML 版本之谜】
java·spring boot·后端·yaml·踩坑记录
CryptoPP3 小时前
快速对接东京证券交易所API数据:实战指南与代码示例
开发语言·人工智能·windows·python·信息可视化·区块链
ZC跨境爬虫3 小时前
跟着 MDN 学JavaScript day_7:数学运算与逻辑判断实战测试
开发语言·前端·javascript·学习·ecmascript
fangdengfu1233 小时前
ES分析系统各个服务日志占用量
java·前端·elasticsearch
云烟成雨TD4 小时前
Spring AI 1.x 系列【51】可观测性技术选型
java·人工智能·spring
星越华夏4 小时前
ESP32-CAM图像传输项目说明文档
java·后端·struts·esp32