当前位置: 首页 > 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…...

Unity开发者为何转向VSCode:效率提升26倍的工程实践

1. 为什么我三年前就彻底卸载了Visual Studio——一个Unity老手的真实效率账在Unity项目里打开Visual Studio&#xff0c;等它加载完所有C#项目、符号、IntelliSense、Rider插件、Resharper缓存、NuGet包索引……这个过程平均耗时47秒——这是我用Stopwatch在2021年到2023年连续…...

Wireshark深度解析TLS 1.3与HTTP/2隐性故障pcap样本

1. 这不是一份普通pcap&#xff0c;而是一份“网络故障诊断教科书级样本”你有没有遇到过这样的情况&#xff1a;客户发来一个几十MB的pcap文件&#xff0c;标题叫“系统登录超时”&#xff0c;你打开Wireshark&#xff0c;密密麻麻全是TCP重传、RST包、DNS超时&#xff0c;但翻…...

ADAS系统设计全解析:从传感器融合到域控制器实战

1. 项目概述与行业背景最近几年&#xff0c;但凡和汽车沾点边的行业&#xff0c;都绕不开“智能化”这三个字。作为一名在汽车电子和嵌入式系统领域摸爬滚打了十多年的工程师&#xff0c;我亲眼见证了从简单的倒车雷达&#xff0c;到如今能自动跟车、紧急刹车的ADAS系统&#x…...

Unity启动Logo跳过指南:三步实现多平台秒开启动

1. 为什么Unity启动Logo不是“装饰”&#xff0c;而是必须被正视的交付环节你刚打包完一个Unity游戏&#xff0c;兴冲冲地发给测试同事&#xff0c;对方点开exe——先是一片黑屏&#xff0c;接着弹出那个熟悉的、带渐变动画的Unity Logo&#xff0c;再过3秒才进主菜单。测试发来…...

神经网络幻觉的本质与四层防御实战指南

1. 这不是“胡说八道”&#xff0c;是模型在用概率拼图——神经网络幻觉的本质与真实战场 “神经网络会幻觉”这个说法&#xff0c;这几年在技术社区、媒体标题甚至投资人会议里出现的频率&#xff0c;已经快赶上“算力瓶颈”和“数据飞轮”了。但绝大多数人听到这个词的第一反…...

【NotebookLM视频转文字实战指南】:20年AI工程师亲测的5大避坑技巧与98.7%准确率实现路径

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM视频转文字的核心原理与能力边界 NotebookLM 的视频转文字功能并非直接处理原始视频流&#xff0c;而是依赖 Google Cloud Speech-to-Text API 的增强版语音识别管道&#xff0c;并结合 YouT…...

ComfyUI-Impact-Pack V8完整实战指南:解锁AI图像增强的5大核心功能

ComfyUI-Impact-Pack V8完整实战指南&#xff1a;解锁AI图像增强的5大核心功能 【免费下载链接】ComfyUI-Impact-Pack Custom nodes pack for ComfyUI This custom node helps to conveniently enhance images through Detector, Detailer, Upscaler, Pipe, and more. 项目地…...

3分钟彻底清理Windows右键菜单:ContextMenuManager让你的操作效率翻倍

3分钟彻底清理Windows右键菜单&#xff1a;ContextMenuManager让你的操作效率翻倍 【免费下载链接】ContextMenuManager &#x1f5b1;️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 还在为Windows右键菜单越来越臃…...

Seraphine:基于LCU API的英雄联盟智能数据分析与自动化辅助解决方案

Seraphine&#xff1a;基于LCU API的英雄联盟智能数据分析与自动化辅助解决方案 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine Seraphine是一款基于英雄联盟官方LCU API开发的专业级游戏数据分析与自动化辅助…...

Blender3mfFormat终极指南:开启3D打印无缝工作流的新时代

Blender3mfFormat终极指南&#xff1a;开启3D打印无缝工作流的新时代 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 你是否曾为Blender与3D打印软件之间的格式转换而烦恼…...