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

news2025/7/16 4:36:29

目录

一、异常

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

示例代码:

④、删除一个多级文件夹

示例代码:

删除过程:

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

示例代码:

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

代码过程:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/369083.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

百万数据excel导出功能如何实现?

最近我做过一个MySQL百万级别数据的excel导出功能,已经正常上线使用了。 这个功能挺有意思的,里面需要注意的细节还真不少,现在拿出来跟大家分享一下,希望对你会有所帮助。 原始需求:用户在UI界面上点击全部导出按钮…

基于Java的浏览器的设计与实现毕业设计

技术:Java等摘要:当今世界是一个以计算机网络为核心的信息时代,互联网为人们快速获取、发布和传递信息提供了便捷,而浏览器作为互联网上查找信息的重要工具,给人们提供了巨大而又宝贵的信息财富,受到了大家…

苹果ios签名证书的生成方法

在使用hbuilderx打包uniapp或html5应用的时候,假如是打包ios应用,是需要ios签名证书,和证书profile文件的,这个证书要求是p12格式的证书,profile文件又叫描述文件。 这两个文件,需要在苹果开发者中心生成&…

利用关联来发现复杂攻击模式

日志是网络活动的重要依据,包含了关于您网络上所有用户和系统活动的详尽信息。基本日志分析可帮助您轻松地对数百万个日志进行分类,并挑选出可以表明存在可疑活动的日志,识别与正常网络活动不符的异常日志。通常,单独查看某个日志…

WindowsPowerShell 停止、启动、暂停和重启服务、卸载服务

PowerShell 停止、启动、暂停和重启服务、卸载服务 PowerShell 停止、启动、暂停和重启服务 官文 powershell卸载服务 官文 目录PowerShell 停止、启动、暂停和重启服务、卸载服务停止、启动、暂停和重启停止服务启动服务暂停服务重启服务卸载移除服务停止、启动、暂停、重启…

WIFI 安全总论

一、总体逻辑安全策略认证机制 加密机制为了增强无线网络安全性,至少需要提供认证和加密两个安全机制:1、 认证机制:认证机制用来对用户的身份进行验证,以限定特定的用户(授权的用户)可以使用网络资源。2、…

VBS带你领略脚本语言的快乐!(实战篇—刷字数)

用VBS脚本刷爆搜狗输入法 前言 偶然一次打开了搜狗输入法的个人主页,看到这135万字,不禁想起当年高中时为了跟同学装逼,上课挂脚本刷字数的“光荣战绩”,很快啊,我就在古老的硬盘中找到了它,以我如今的智慧…

Tesseract-OCR命令及WPF简单使用

Tesseract 是一个开源的 OCR 引擎,可以识别多种格式的图像文件并将其转换成文本,最初由 HP 公司开发,后来由 Google 维护。 下载地址:https://digi.bib.uni-mannheim.de/tesseract/ 其中文件名中带有 dev 的为开发版本&#xff0…

无广告的视频二维码生成教程(组图介绍)

如今,二维码的应用越来越广了,也非常方便,那么如何把视频转换生成二维码呢?网页地址转换二维码的工具很多,但视频转换二维码的工具,可就比较少了,今天来教教大家如何实现。 应用场景及需求&…

JavaScript 测试 jQuery

文章目录JavaScript 测试 jQuery引用 jQueryjQuery 描述javascript 方式测试 jQueryJavaScript 测试 jQuery 测试 JavaScript 框架库 - jQuery 引用 jQuery 如需测试 JavaScript 库&#xff0c;您需要在网页中引用它。 为了引用某个库&#xff0c;请使用 <!DOCTYPE html…

史上最详细的小程序测试用例模板,以后再也不怕测试用例不会写了

目录 1. 文档介绍 1.1 文档目的 1.2 文档范围 1.3 读者对象 1.4 术语与缩写解释 2. 功能测试用例 2.1 被测试对象的介绍 2.2 测试范围与目的 2.3 测试环境与测试辅助工具的描述 2.4 功能测试用例 附录&#xff1a;评审意见 1. 文档介绍 1.1 文档目的 设计测试用例…

Mybatis-plus 分页集成以及基本使用总结 入门和案例 注解连表查询分页案例等

简介 Mybaits-plus 是mybits 的升级版&#xff0c;从mybaits 升级到mybaits-plus 可以实现平滑升级 Mybaits-plus 本身提供了大量的基本查询方法以及强大的 Wrapper(包装) 类 用于查询的 QueryWrapper 以及 更新的 UpdateWrapper &#xff0c;使用Wrapper 基本已经可以构建大…

记忆总掉线?这些行为太伤脑!

人体老化过程中&#xff0c;记忆力的衰退不可避免&#xff0c;这种属于“良性”的记忆衰退。但非“良性”的记忆衰退可要重视&#xff0c;很可能是痴呆症的早期征兆。由于各种原因&#xff0c;我们各种熬夜。作息的不规律扰乱大脑神经系统的调节。这种长期慢性损害大脑&#xf…

ur3+robotiq 2f 140配置moveit

ur3robotiq 2f 140配置moveit 参考链接1 参考链接2 官方配置movit教程 搭建环境&#xff1a; ubuntu: 20.04 ros: Nonetic sensor: robotiq_ft300 gripper: robotiq_2f_140_gripper UR: UR3 reasense&#xff1a; D435i 通过下面几篇博客配置好了ur3、力传感器、robotiq夹爪…

人工智能AI威武,爱也……恨也……

人工智能AI威武&#xff0c;爱也&#xff01;恨也&#xff01;&#xff01;它会创作会代码&#xff0c;从它那儿能仿到更好的思维&#xff1b;多它那里可以学到更好的代码。它聪慧全能&#xff0c;成为一坨人偷懒神器&#xff1b;变成“智者”作弊的“倚天屠龙”&#xff01;&a…

易基因|DNA甲基化研究的测序数据挖掘思路:干货分享

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。总体来说&#xff0c;DNA甲基化一般遵循三个步骤进行数据挖掘。首先&#xff0c;进行整体全基因组甲基化变化的分析&#xff0c;包括平均甲基化水平变化、甲基化水平分布变化、降维分析、聚…

Wsl2 ubuntu 配置git 阿里云codeup

目录 创建一个跟你windows git使用相同的用户名,特别重要 配置git 用户名和邮箱 配置阿里云codeup 拉取仓库提示文件权限问题 给用户目录权限 配置项目文件别名 key_load_public: invalid format 怎么办&#xff1f; WSL ubuntu sshd: no hostkeys available -- exiting…

初始C++

写在前面 这是我第一次接触到C,之前对它的大名可谓是如雷贯耳.这两天有人问我学习C的感觉怎么样?对此我想说,很难.C的细节很多,要求我们比学习C语言更加细心,我不是没有学习过OOP语言,但是刚开始接触到还是感觉有点吃力,不过这是一种很令人高兴的情况,这代表你在进步,要是我们…

QT MySQL 连接出错报 QSqlDatabase: QMYSQL driver not loaded

QT连接MySQL失败&#xff08;本人QT版本&#xff1a;5.12.5&#xff09;一、报错结果QSqlDatabase: QMYSQL driver not loadedQSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7二、报错原因缺少MySQL驱动&#xff08;qsqlmysql.dll&#xff0c;qsqlmysql.d…

Salesforce大揭秘!SaaS鼻祖不为人知的那些事!

Salesforce的世界无疑是广阔的。自从创始人Marc Benioff于1999年创立公司以来&#xff0c;Salesforce一直在打破CRM领域的界限&#xff0c;改变销售、营销和技术的格局。 作为全球领先的B2B科技公司之一&#xff0c;Salesforce和硅谷里的其他企业一样&#xff0c;缔造着一个关…