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

(1)Map集合 (2)异常机制 (3)File类 (4)I/O流

1.Map集合(重点)
1.1 常用的方法
Set<Map.Entry<K,V>> entrySet() - 用于将Map集合转换为Set集合。
其中Map.Entry<K,V>是来自java.util包中的接口,常用方法如下:
K getKey() - 用于获取当前接口类型引用中的key值并返回。
V getValue() - 用于获取当前接口类型引用中的value值并返回。
Set<K> keySet() - 用于将Map集合中所有的键放入Set集合中并返回。

2.异常机制(重点、简单)
2.1 基本概念
java.lang.Throwable类是Java语言中所有错误(Error)或异常(Exception)的超类。
其中错误主要指在运行阶段出现的严重问题,通常无法通过编程解决,如:JVM挂掉。
其中异常主要指在运行阶段出现的不太严重的问题,通常可以编程解决,如:零做除数。

2.2 异常的分类
java.lang.Exception类是Java语言中所有异常的超类,具体分类如下:
RuntimeException类 - 运行时异常,也叫作非检测性异常
IOException和其它异常类 - 其它异常,也叫作检测性异常
- 所谓检测性异常就是指在编译阶段可以被编译器检查出来并报错的异常。
RuntimeException类的主要子类:
ArithmeticException - 算术异常
ArrayIndexOutOfBoundsException - 数组下标越界异常
NullPointerException - 空指针异常
ClassCastException - 类型转换异常
NumberFormatException - 数字格式异常

注意:
当程序执行过程中发生异常又没有手动处理时,则Java虚拟机采用默认方式处理,而默认处理方式就是:打印异常名称、异常原因、异常发生的位置,最后终止程序的执行。

2.3 异常的避免
对于绝大多数异常来说,都可以使用if()条件判断避免异常的发生。

2.4 异常的捕获
(1)语法格式
try{
编写所有可能发生异常的语句;
}
catch(异常类型 引用变量名){
编写针对该类型异常的处理语句;
}
... ...
finally{
编写无论是否发生异常都应该执行的语句;
}

(2)注意事项
当try{}中可能发生多种异常时,则应该编写多个catch分支,切记小类型放在大类型上面。
懒人的写法:
catch(Exception e){
e.printStackTrace(); //用于打印异常名称、原因、发生位置等信息。
}
finally{}中通常用于编写进行善后处理的语句,比如:关闭已经打开的文件等。

(3)执行流程
try{
a;
b; - 可能发生异常的语句;
c;
}
catch{
d;
}
finally{
e;
}

当程序没有发生异常时的执行流程:a b c e
当程序中发生异常时的执行流程: a b d e

2.5 异常的抛出
(1)基本概念
当程序中出现的异常无法处理或不便于处理时,则应该将该异常转移给该模块的调用者,这种方式叫异常的抛出。

(2)语法格式
访问控制符 返回值类型 方法名(形参列表) throws 异常类型1,异常类型2,...{}
如:
public void show() throws IOException {}

(3)方法重写的主要原则
a.要求方法名、参数列表和返回值类型相同,从jdk1.5开始允许返回子类。
b.访问权限不能变小,可以相等或者变大。
c.不能抛出更大的异常。

注意:
子类中重写的方法可以抛出和父类一样的异常、更小的异常以及不抛出异常,但不能抛出更大的异常、同级不一样的异常。

2.6 自定义异常
(1)自定义异常的由来
当程序中需要表达年龄不合理的异常时,Java官方并没有提供针对该业务的异常类型,此时若希望专门使用一个表达年龄不合理的异常,则需要程序员自定义异常类。

(2)基本流程
a.自定义xxxException类继承Exception类或者其子类;
b.在该类中提供两个版本的构造方法,一个是无参的构造方法,另外一个是字符串
做参数的构造方法。

(3)异常对象的抛出
throw new 异常类型();
如:
throw new AgeException();

3.File类(重点)
3.1 基本概念
java.io.File类用于描述文件和目录的相关信息,可以获取大小、最后一次修改时间等信息

3.2 常用的方法
File(String pathname) - 根据参数指定的路径信息来构造对象。
boolean exists() - 用于判断调用对象所表示的文件或目录是否存在。
String getName() - 用于获取文件或目录的名称。
long length() - 用于获取文件的长度/大小。
long lastModified() - 用于获取最后一次修改时间。
String getAbsolutePath() - 用于获取绝对路径信息并返回。
绝对路径 - 主要指以根目录开始的路径信息,如:c:/... d:/... /
相对路径 - 主要指以当前工作目录开始的路径信息,如:./code
- 以后的开发中推荐使用相对路径信息。
boolean delete() - 用于删除文件/目录。
boolean createNewFile() - 用于创建新的空文件。

boolean mkdir() - 用于创建单层目录。
boolean mkdirs() - 用于创建多级目录。

File[] listFiles() - 用于获取当前目录中的所有内容并返回。
boolean isFile() - 用于判断调用对象是否为一个普通文件。
boolean isDirectory() - 用于判断调用对象是否为一个目录。

转载于:https://www.cnblogs.com/sumboy/p/9058587.html

相关文章:

  • 【Android Advanced Training - 07】分享数据内容 [Lesson 2 - 从其它app接收分享的内容]...
  • 【Android Advanced Training - 07】分享数据内容 [Lesson 3 - 在ActionBar上添加Share Action]...
  • 憋了好几年的引擎终于露面了
  • 20154307《网络对抗》Exp8 Web基础
  • Bash知识点记录
  • Android 滑动效果入门篇(一)—— ViewFlipper
  • 在Moto Atrix4G手机里安装全功能Ubuntu记录(特附友情广告一则)
  • rpm 软件包管理
  • pom.xml文件详解
  • 互联网测试有什么不一样
  • Python基础第十六天:面向对象进阶
  • log4net 在.net CompactFramework 2.0中的使用
  • 20165307 实验四《Andriid应用开发》实验报告
  • 使用 php Header 报错的一个原因
  • 【IOS】仿捕鱼达人的金币滚动显示
  • AHK 中 = 和 == 等比较运算符的用法
  • Bytom交易说明(账户管理模式)
  • classpath对获取配置文件的影响
  • co模块的前端实现
  • crontab执行失败的多种原因
  • CSS 三角实现
  • CSS居中完全指南——构建CSS居中决策树
  • Facebook AccountKit 接入的坑点
  • HTML5新特性总结
  • JavaScript类型识别
  • js中forEach回调同异步问题
  • Linux Process Manage
  • 爱情 北京女病人
  • 聚簇索引和非聚簇索引
  • 十年未变!安全,谁之责?(下)
  • 时间复杂度与空间复杂度分析
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • Prometheus VS InfluxDB
  • # 计算机视觉入门
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (南京观海微电子)——I3C协议介绍
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (五)Python 垃圾回收机制
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .net Signalr 使用笔记
  • .net经典笔试题
  • .NET上SQLite的连接
  • .NET值类型变量“活”在哪?
  • @Transactional 竟也能解决分布式事务?
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具
  • [20190416]完善shared latch测试脚本2.txt
  • [2023年]-hadoop面试真题(一)
  • [51nod1610]路径计数