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

相关推荐
笑小枫4 分钟前
用 Claude Code 推翻重写笑小枫网站
java·人工智能·spring boot·ai编程
霸道流氓气质17 分钟前
ApiPost 中配置自动获取 Token 并调用业务接口完整指南
java·服务器·数据库
格林威23 分钟前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
独隅37 分钟前
IntelliJ IDEA 接入多种AI大模型插件终极指南(2026.1 企业合规版)
java·人工智能·intellij-idea
小大宇1 小时前
Python 集成 Conda
开发语言·python·conda
还是奇怪1 小时前
Simon Willison 用 DSPy 优化 Datasette Agent 提示词:提示工程正在变成可测试的软件工程
java·开发语言·软件工程
zfoo-framework1 小时前
1.ansible安装 2.虚拟机克隆
java
码上解惑2 小时前
从 Dify 工作流说起:常用节点怎么选、怎样组合?
java·人工智能·ai·agent·dify·智能体·spring ai
小大宇2 小时前
python flask框架 SSE流式返回、跨域、报错
开发语言·python·flask
Legendary_0082 小时前
LDR6500 设计指南:Type-C 音频快充二合一配件 PD 取电与插拔时序控制方案
c语言·开发语言·音视频