(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) ...
随机推荐
- weblogic:local class incompatible: stream classdesc serialVersionUID
问题:jdk版本不兼容 方法:修改weblogic对应的jdk版本
- 求两个Linux文本文件的交集、差集、并集
一.交集 sort a.txt b.txt | uniq -d 二.并集 sort a.txt b.txt | uniq 三.差集 a.txt-b.txt: sort a.txt b.txt b.tx ...
- c# 键值对照表
虚拟键值表 虚拟键 十六进制值 十进制值 相应键盘或鼠标键 VK_LBUTTON 1 1 鼠标左键 VK_RBUTTON 2 2 鼠标右键 VK_CANCEL 3 3 Ctrl-Break键 VK_M ...
- 小白学习之Code First(四)
code first :约定大于配置(通过配置实体重写约定) 通过两种方式配置实体:DataAnnotations Fluent Api System.ComponentModel.Data ...
- PLC一种启停程序
- 用面向对象的编程方式实现飞机大战小游戏,java版
概述 本文将使用java语言以面向对象的编程方式一步一步实现飞机大战这个小游戏 本篇文章仅供参考,如有写的不好的地方或者各位读者哪里没看懂可以在评论区给我留言 或者邮件8274551712@qq.co ...
- Spring系列之——Spring事务以及两大核心IOC和AOP
1 Spring事务 1.1 Spring事务是什么(百度) 事务是对一系列的数据库操作(比如插入多条数据)进行统一的提交或是回滚操作,如果插入成功,那么一起成功,如果中间一条出现异常,那么回滚之前的 ...
- 修复IE7浮动元素自动换行的bug
bug重现以及修复后的表现 2. HTML源码 <!doctype html> <html> <head> <meta charset="utf-8 ...
- curl 封装类
<?php /** * author: zbseoag * QQ: 617937424 用法: $content = Curl::instance()->url($url)->get ...
- Django之WSGI浅谈
一.什么是Web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统. 浏览器与服务器之间发起HTTP请求: 1.浏览器发送一 ...