当前位置: 首页 > news >正文

【Java基础 下】 027 -- 异常、File、综合案例

目录

一、异常

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结尾的电影(考虑子文件夹)

示例代码:

④、删除一个多级文件夹

示例代码:

删除过程:

⑤、统计一个文件夹中每个文件的个数并打印

示例代码:

⑥、统计一个文件夹的总大小

代码过程:

相关文章:

【Java基础 下】 027 -- 异常、File、综合案例

目录 一、异常 1、异常的分类 ①、Error ②、Exception ③、小结 2、编译时异常和运行时异常 ①、编译时异常 ②、运行时异常 ③、为什么异常要分成编译时异常和运行时异常? ④、小结(运行时异常和编译时异常的区别) 3、异常的作用 ①、查看b…...

教师管理系统的设计与实现

技术:Java、JSP等摘要:1.1 计算机管理教师的意义近年来,随着经济的发展,教育正面向着大型化、规模化的方向发展,教师数量急剧增加,有关教师的各种信息量也成倍增长。在这种情况下用计算机可使人们从繁重的劳…...

【Java】线程使用方式

(1)继承 Tread 类 继承Thread类,创建一个新的线程类重写run()方法,将需要并发执行的业务代码编写在run()方法中 //继承Thread来创建一个线程类 class MyThread extends Thread{Overridepublic void run(){System.out.println("hello Thread"…...

零基础想转行学习Python,该如何学习,有学习路线分享吗?(2023年给初学者的建议)

Python属于一种面向对象、解释性的高级语言,它如今在众多领域都被应用,包括操作系统管理、Web开发、服务器运维的自动化脚本、科学计算、桌面软件、服务器软件(网络软件)、游戏等方面,且Python在今后将被大规模地应用到大数据和人工智能方面。…...

IDEA Maven install Failed to execute goal org.apache.maven.plugins异常处理

目录一、异常错误二、原因三、解决方法修改pom.xml资源配置文件一、异常错误 由于服务器编译拦截了静态资源,导致出现异常,需要重新打包编译 打开IDEA带的Maven管理,双击clean清除由项目编译创建的target 再双击install安装jar包到本地仓库…...

TensorFlow-Keras - FM、WideAndDeep、DeepFM、DeepFwFM、DeepFmFM 理论与实战

目录 一.引言 二.浅层模型概述 1.LR 2.FM 3.FMM 4.FwFM 5.FmFM 三.常用推荐算法实现 Pre.数据准备 1.FM 2.WideAndDeep 3.DeepFM 4.DeepFwFM 5.DeepFmFM 四.总结 1.函数测试 2.函数效果与复杂度对比[来自FmFM论文] 3.More 一.引言 推荐系统中常见的 CTR 模型…...

Java浅析电信数据采集

技术:Java等摘要:电信运营系统中,电信计费系统是主要的支撑系统,占有重要地位。对于电信计费系统是电信运营商的核心竞争力之一这一观点愈来愈被业界认同。电信计费系统中的数据蕴含着企业经营态势、客户群分布特征及消费习惯、各…...

那些开发中需要遵守的产研开发规范

入职新公司第三天,没干啥其他活,基本在阅读产研开发规范。公司在技术方面沿用的是阿里的一套技术,所以入职之前需要先阅读《阿里巴巴开发规范》。今天整理一些平时需要关注的阿里规约和数据库开发规范,方便今后在开发过程中查阅。…...

一文深入分析-内核并发消杀器(KCSAN)

一、KCSAN介绍 KCSAN(Kernel Concurrency Sanitizer)是一种动态竞态检测器,它依赖于编译时插装,并使用基于观察点的采样方法来检测竞态,其主要目的是检测数据竞争。 KCSAN是一种检测LKMM(Linux内核内存一致性模型)定义的数据竞争(data race…...

Java学习-IO流-字符缓冲流

Java学习-IO流-字符缓冲流 字符缓冲流↙ ↘ BufferedReader BufferedWtrier 字符缓冲输入流 字符缓冲输出流底层自带长度为8192的缓冲区提高性能 public BufferedReader(Reader r):把基本流包装成高级流 public BufferedWtrier(Wtrier w):把…...

Java的一维数组遍历、求最值、冒泡排序

一.数组遍历&#xff1a; Example&#xff1a; import java.util.ArrayList; public class App { public static void main(String[] args) { int[]arr{1,2,3,4,5}; for(int i0;i<arr.length;i){ System.out.println(arr[i]); } } 运行结果&#xff1a;12345 定义了一…...

Free for photo container detection, container damage detect PaaS

集装箱箱号识别API免费&#xff0c;飞瞳引擎集装箱人工智能平台&#xff0c;可通过API二次开发或小程序拍照使用&#xff0c;可二次开发应用码头港区海关仓库口岸铁路场站船公司堆场&#xff0c;实现云端集装箱信息识别/集装箱箱况残损检测/好坏箱检验&#xff0c;高检测率/高实…...

【golang】【源代码】reflect.DeepEqual(x,y)函数

reflect.DeepEqual(x, y)函数 功能是比较x和y是否一致&#xff0c;x和y不仅限于基础类型&#xff0c;也可以是像array、 slice、 map、 ptr、struct、interface类型&#xff0c;在代码中经常能见到。 一起看下是怎么实现的吧~ func DeepEqual(x, y interface{}) bool {if x …...

Python实现定时执行脚本(4)

前言 本文是该专栏的第16篇,后面会持续分享python的各种干货知识,值得关注。 在项目开发中,难免会需要用到定时任务。比如说,在某个时间段,甚至是达到某时某分某秒自动运行你部署好的功能脚本。而在本专栏的前面,笔者有详细介绍过3种使用python执行定时脚本的方法。 1.…...

量子力学(4) 全同粒子

如果势能与时间无关&#xff0c;那么Ψψe−iEt/ℏ\Psi\psi e^{-iEt/\hbar}Ψψe−iEt/ℏ&#xff0c;EEE是系统的总能量。 全同粒子分为玻色子和费米子。所有电子是全同的费米子。所有质子是全同的费米子。全同就是说不可能区分出其中的一个&#xff0c;比如说你摇了五个骰子…...

13、Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

简介 主页&#xff1a;https://github. com/microsoft/Swin-Transformer. Swin Transformer 是 2021 ICCV最佳论文&#xff0c;屠榜了各大CV任务&#xff0c;性能优于DeiT、ViT和EfficientNet等主干网络&#xff0c;已经替代经典的CNN架构&#xff0c;成为了计算机视觉领域通用…...

C++基础入门丨8. 结构体——还需要知道这些

Author&#xff1a;AXYZdong 硕士在读 工科男 有一点思考&#xff0c;有一点想法&#xff0c;有一点理性&#xff01; 定个小小目标&#xff0c;努力成为习惯&#xff01;在最美的年华遇见更好的自己&#xff01; CSDNAXYZdong&#xff0c;CSDN首发&#xff0c;AXYZdong原创 唯…...

算法第十六期——动态规划(DP)之线性DP

【概述】 线性动态规划&#xff0c;是较常见的一类动态规划问题&#xff0c;其是在线性结构上进行状态转移&#xff0c;这类问题不像背包问题、区间DP等有固定的模板。 线性动态规划的目标函数为特定变量的线性函数&#xff0c;约束是这些变量的线性不等式或等式&#xff0c;目…...

智慧新零售网络解决方案,助力新零售企业数智化转型

随着数字化时代的不断发展&#xff0c;新零售连锁业务模式“线上线下”融合发展&#xff0c;数据、设备在逐渐增加&#xff0c;门店数量也会随着企业规模的扩大而增加&#xff0c;但由于传统网络架构不稳定、延时、容量小影响服务质量&#xff08;QoS&#xff09;、分支设备数量…...

Go语言规范中的可赋值

了解可赋值规范的重要性当使用type关键字定义类型的时候&#xff0c;会遇到一些问题&#xff0c;如下&#xff1a;func main(){var i int 2pushInt(i) } type MyInt int //基于int定义MyInt func pushInt(i MyInt){}结果&#xff1a;调用函数pushInt报错 cannot use i (variab…...

外盘国际期货招商:原油市场热点话题

原油市场热点话题 问&#xff1a;目前美国原油库存如何&#xff1f; 答&#xff1a;EIA原油库存数据显示&#xff0c;由于美国炼油厂季节性检修&#xff0c;开工率继续下降&#xff0c;原油库存连续九周增长至2021年5月份以来最高水平&#xff0c;同期美国汽油库存减少而精炼…...

[蓝桥杯 2018 省 A] 付账问题 贪心题

几个人一起出去吃饭是常有的事。但在结帐的时候&#xff0c;常常会出现一些争执。现在有 n 个人出去吃饭&#xff0c;他们总共消费了 S 元。其中第 i 个人带了 ai 元。幸运的是&#xff0c;所有人带的钱的总数是足够付账的&#xff0c;但现在问题来了&#xff1a;每个人分别要出…...

微机原理复习(周五),计算机组成原理图

1.计算机由运算器&#xff0c;控制器&#xff0c;存储器&#xff0c;输入设备&#xff0c;输出设备等5大基本部件组成。 2.冯诺依曼提出存储设计思想是&#xff1a;数字计算机的数制采用二进制&#xff0c;存储程序&#xff0c;程序控制。 3.计算机的基本组成框图&#xff1a…...

用了10年Postman,意想不到它的Mock功能也如此强大

最近在做一些app&#xff0c;前后端分离的开发模式是必须的。一直用的python flask做后端的快速POC&#xff0c;python本身就是一门胶水语言&#xff0c;开发起来方便快捷&#xff0c;而flask又是一个极简的webserver框架&#xff08;比Django简洁&#xff09;。但在这里推荐的…...

项目重构,从零开始搭建一套新的后台管理系统

背景 应公司发展需求&#xff0c;我决定重构公司的后台管理系统&#xff0c;从提出需求建议到现在的实施&#xff0c;期间花了将近半个月的时间&#xff0c;决定把这些都记录下来。 之前的后台管理系统实在是为了实现功能而实现的&#xff0c;没有考虑到后期的扩展性&#xf…...

day20_Map

今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、比较器排序 三、Collections 四、Map 五、HashMap 六、TreeMap 零、 复习昨日 HashSet 不允许重复元素,无序 HashSet去重原理: 先比较hashco…...

localStorage和sessionStorage

目录 一、localStorage和SessionStorage在哪里&#xff0c;是什么 二、localStorage和sessionStorage区别 三、localStorage常用方法 四、sessionStorage常用方法 一、localStorage和SessionStorage在哪里&#xff0c;是什么 【1】在浏览器开发者工具的Application栏目里&…...

IP地址,子网掩码,网段 概念详解

文章目录1. 子网掩码1.1 子网掩码的概念及作用1.2 子网掩码的组成1.3 子网掩码的表示方法1.4 为什么要使用子网掩码&#xff1f;1.5 子网掩码的分类2. 子网掩码和IP地址的关系2.1 根据掩码确定网段IP地址是以 网络号和 主机号来标示网络上的主机的&#xff0c;我们把网络号相同…...

数影周报:动视暴雪疑似数据泄露,数据出境安全评估申报最新进展

本周看点&#xff1a;动视暴雪疑似员工敏感信息及游戏数据泄露&#xff1b;谷歌云计算部门&#xff1a;两名员工合用一个工位&#xff1b;数据出境安全评估申报最新进展&#xff1b;TikTok Shop东南亚商城在泰国和菲律宾公布&#xff1b;智己汽车获九大金融机构50亿元贷款签约.…...

Web安全最详细学习路线指南,从入门到入职(含书籍、工具包)

在这个圈子技术门类中&#xff0c;工作岗位主要有以下三个方向&#xff1a; 安全研发 安全研究&#xff1a;二进制方向 安全研究&#xff1a;网络渗透方向 下面逐一说明一下. 第一个方向&#xff1a;安全研发 你可以把网络安全理解成电商行业、教育行业等其他行业一样&#x…...