异常
概念
就是指不正常的意思:
指程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止;不是指语法错误。
顶层类:Throwable(所有异常的超类)
Error:严重错误;
程序出了一个无法治愈的毛病,必须修改源代码,程序才能继续执行。
1.内存溢出错误;
2.
Exception:编译期异常,编还没有执行代码,就产生了异常,译java程序出现问题;
1.runtimeexception:运行期异常,java程序运行过程中出现的问题
异常相当于小毛病,把异常处理掉,程序就可以继续执行
处理方式:
1.往上抛,抛给虚拟机处理。(1.打印异常信息 2.中断程序运行)
2.Try{可能会出现异常的代码
}catch(异常的处理逻辑){
输出逻辑名称}
处理程序,处理完之后程序继续执行,不会停止。
异常产生过程的解析(分析怎么产生的,如何处理异常)
Jvm会做两件事
1.jvm会根据异常产生的原因创建一个异常对象,这个异常对象包含了一场产生的(内容,原因,位置)
2.在方法中,没有异常的处理逻辑(try...Catch),那么jvm就会把异常对象抛给方法调用者main方法来处理这个异常
3.Main方法接收到这个异常对象,main方法也没有处理异常逻辑,继续吧对象抛给main方法的调用者jvm处理
4.Jvm1.把异常对象以红色字体打印在控制台;2.jvm会终止java当前运行的程序(中断程序)。
异常处理:
Throw关键字
作用:可以用throw关键字在指定的方法中抛出指定的异常
使用格式:
Throw new xxxexception(异常产生的yuany);
注意:
1.throw关键字必须写在方法的内部
2.后边new的对象必须是exception或其子类
3.抛出指定的异常对象,我们就必须处理这个异常对象
以后我们首先必须对传递过来的参数进行合法性校验,如果参数不合法,我们就必须使用抛出异常的方式,告知方法调用者。
file类(java.IO.FILE)
作用:
操作文件,是文件和目录路径名的抽象表示形式。
File类与系统无关的类,任何操作系统都可以使用这个类中的方法
重点三个单词:
file:文件
Directory:文件/目录
Path:路径
我们可以使用file类的构造方法:
1.string pathname 字符串的路径名称
New file(“C:\\..\\..\\..\\...”)OR(“A.TXT”)
路径可以以文件结尾,也可以以文件夹结尾
路径可以是相对路径,也可以是绝对路径
2.String parent:父路径 string child:子路径
好处:可以单独书写,使用起来非常灵活,都可以变化
New file(“D:\\”,”A.TXT”)
File类的静态成员变量:
Static string Pathseparator:“;”路径分隔符 linux:冒号
Static char pathseparatorchar
Static string Separator:“\”文件名称分隔符 linux:正斜杠“/”
Static char separtorchar
转义符:”\”
给中间的符号加一根转义符“\””。
绝对路径:是一个完整的路径
以盘符开始的路径(c: d:)开始的路径
相对路径:是一个简化的路径
相对于当前项目的根目录
如果使用当前项目的根目录,路径可以简化书写(可以省略项目的根目录)
注意:
1.路径不区分大小写;
2.路径中的文件名称分隔符使用反斜杠,加上分隔符要用两个反斜杠;
方法:
1.getAbsolutePath();获取当前对象的绝对路径
2.getPath();获取当前file对象构造中传入的路径
3.getName();获取当前文件名称
4.length():获取当前文件大小
File类判断功能方法(存在为true,不存在为false)
1.exists();判断文件或目录是否实际存在;
2.Isdirectory();表示是否为目录;
用于判断构造方法中给定的路径是否以文件夹结尾
3.Isfile();表示是否为文件;
判断给定路径是否以文件结尾
注意:
1.电脑硬盘中只有文件或文件夹,两个方法互斥
2.使用前提,路径必须存在,否则都返回false
创建和删除的方法(看类型,别看文件或文件夹名称)
Createnewfile();当且仅当具有该名称的文件尚不存在时,创建一个新的空文件;
创建文件的路径名称在构造方法在给出;
注意:
1.此方法只能创建文件,不能创建文件夹
2.此文件的路径必须存在,否则会抛出异常
3.调用这个方法就必须处理这个异常
创建文件夹的方法
1.mkdir()只能创建单级文件夹
2.Mkdirs()既能创建单级文件夹,也能创建多级文件夹
创建文件夹的路径和名称在构造方法中给出
3.delete();删除文件或目录(如果里边有文件,删除不了文件夹,可以先删除文件)
删除构造方法中给出路径给出的文件或文件夹
注意:
直接在硬盘中删除,不经过回收站。删除慎用。
总结:
创建文件必须在已经存在的目录中创建,不会帮我们创建文件夹
删除文件夹,要先把文件夹里面的文件删除才能删除该文件夹。。Delete删除空文件夹
遍历
1.List();返回string数组
遍历当前路径的文件/文件夹的名字数组;
2.2.listfiles();返回file数组
获取目录中所有的文件或文件夹,把他们封装为file对象,多个file对象存储到file数组中。
注意:
1.两个方法遍历是构造方法中给出的目录
2.如果路径不存在,会抛出空指针异常
3.如果路径不是一个目录,也会抛出异常
|
|