(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() - 用于判断调用对象是否为一个目录。
(1)Map集合 (2)异常机制 (3)File类 (4)I/O流的更多相关文章
- (1)Set集合 (2)Map集合 (3)异常机制
1.Set集合(重点)1.1 基本概念 java.util.Set接口是Collection接口的子接口,与List接口平级. 该接口中的元素没有先后放入次序,并且不允许重复. 该接口的主要实现类:H ...
- File类与常用IO流第四章——IO字节流
一切文件在存储时,都是以二进制数字的形式保存的,都是一个一个字节.无论使用什么样的流对象,底层传输的始终是二进制数据. 字节输出流 OutputStream java.io.OutputStream ...
- JAVA基础--JAVA 集合框架(泛型、file类)16
一.集合总结 集合:Collection体系.Map体系. Collection体系:单列集合的共性操作规则. List:列表,可以重复,有下标,拥有特有的迭代器ListIterator. Array ...
- JAVA基础--JAVA 集合框架(泛型、file类)
一.集合总结 集合:Collection体系.Map体系. Collection体系:单列集合的共性操作规则. List:列表,可以重复,有下标,拥有特有的迭代器ListIterator. Array ...
- Map 集合 和 String 字符串相互转换工具类
package com.skynet.rimp.common.utils.util; import java.util.Arrays; import java.util.HashMap; import ...
- File类与常用IO流第七章——Properties集合
Properties概述 java.util.Properties extends Hashtable<k,v> implements Map<k,v> Properties类 ...
- File类与常用IO流第一章File类
第一章:File类 一.1个重点单词: file:文件:directory:文件夹/目录:path:路径(绝对路径:absolutePath) 二.4个静态成员变量: 1.static String ...
- File类与常用IO流第八章——缓冲流
第八章.缓冲流 缓冲流概述 缓冲流,也叫高效流,是对4个基本的FileXxx流的增强.按照数据类型分为4类: 输入缓冲流 输出缓冲流 字节缓冲流 BufferedInputStream Buffe ...
- -1-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流
File类 •文件和目录路径名的抽象表示形式 构造方法 •public File(String pathname) •public File(String parent,Stringchild) ...
随机推荐
- 基于线程实现的生产者消费者模型(Object.wait(),Object.notify()方法)
需求背景 利用线程来模拟生产者和消费者模型 系统建模 这个系统涉及到三个角色,生产者,消费者,任务队列,三个角色之间的关系非常简单,生产者和消费者拥有一个任务队列的引用,生产者负责往队列中放置对象(i ...
- Installing haproxy load balancing for http and https--转载
This example will guide you through a simple IP based load balancing solution that handles ssl traff ...
- ADO----nDSN
//////////////链接数据库 非DSN模式///////////////////////////// //CString strOpen="DSN=DBAddressBook ...
- [android] 手机卫士黑名单功能(列表展示)
先把要拦截的电话号码保存到数据库中,拦截模式用个字段区分,1 电话拦截,2 短信拦截,3全部拦截 新建Activity类CallSmsSafeActivity.java 新建布局文件activity_ ...
- MySQL · 关系模型的基本术语
关系:整个二维表 关系名:表格名称 元组:行数据(记录) 属性:列数据(字段/分量) 属性名:列名称(字段名) 主键:唯一确定元组的属性组(关键字) 域:属性的取值范围 关系模式:关系的描述,表示为: ...
- 撩课-Web大前端每天5道面试题-Day23
1.为什么用Nodejs,它有哪些优缺点? 优点: 事件驱动,通过闭包很容易实现客户端的生命活期. 不用担心多线程,锁,并行计算的问题 V8引擎速度非常快 对于游戏来说,写一遍游戏逻辑代码,前端后端通 ...
- js遇到的问题
一些开发前台时遇到的小问题: ----------------------------------------- 一眼看出页面使用html还是html5: html有三种声明方式:<!DOCTY ...
- 对工厂方法模式的一些思考(java语法表示)
同为创造型设计模式的简单工厂模式可以理解为对new关键字的代替. 本着重复三次即重构的原则,如果一个对象在不同的地方被new了两次以上,那就可以考虑使用它.那我们为什么要用简单工厂模式代替new呢?就 ...
- java设计模式-----15、适配器模式
概念: Adapter模式也叫适配器模式,是构造型模式之一,通过Adapter模式可以改变已有类(或外部类)的接口形式. 举个例子:我们使用电脑,家里的电源是220V的,而我们的电脑是18V的,这时如 ...
- CentOS 7 防火墙端口配置
CentOS 7 防火墙端口配置查看防火墙是否开启systemctl status firewalld 若没有开启则开启systemctl start firewalld 查看所有开启的端口firew ...