1. Exception
java中的异常祖先是Throwable . 它的直接子类是:Exception和Error.
1.1 Error中通过单词我们知道,是错误的意思, 这种错误一般是jvm运行产生的错误.出现这种错误,我们的程序是不能解决的比如内存溢出oom, 堆溢出等. 这些错误我们不必处理,直接让jvm抛出报错,我们没有办法解决就不用管了;
1.2 Exception 中文意思就是异常. Exception又分为检查性异常和非检查性异常.比如 RuntimeException类及子类就是非检查性异常,表示是运行的时候出现的异常,有数组越界,空指针异常,我们可以不用自己处理,让jvm自己抛出异常,如果我们可以预见这些异常,最好在程序进行判断检查,程序写的健壮些,
2. 检查性异常,必须进行异常处理或者抛出,否则编译器会报错;
2. 异常处理一般会用到以下几个关键字try ,catch , finallly,throws.throw.
try : 对于可能会抛出异常的代码一般放在try{} 代码块中
try{ int i =2/0; // 由于上一行发生了异常所以下一行不会被执行 System.out.println("我没有被执行") }catch(Exception e){ System.out.println("终于要执行我了") }
catch( Exception e ){ } 这种结构就是用来处理,try里面抛出来的异常的.后面可以跟着多个catch 代码块,不过要注意的是,
如果catch的参数里面有父子关系,一定是子类在前面,父类在后面,因为一旦前面处理了,就算后面满足条件了也不会进如那个
finally里面的内容一定会被执行;
2file类
定义:file类封装了草做文件夹和文件的方法;
分隔符:根据操作系统的不同,分隔符也不一样, mac :/ windows :\
1. pathSeparator he separator 的区别;
1.File.pathSeparator 指的是分隔连续多个路径字符串的分隔符,例如;java -cp test.jar;abc.jar HelloWorld
就是指“;”
2. separator 才是用来分隔同一路径字符串中的目录的;C:/Program Files/Common Files
指的是: /
2.File的三种构造方法;
1. File file1 = new file("/Users/lanou/Desktop/zhang"); 判断该文件是否存在. boolean b1 = file1.exists(); 打印结果是:true;创建成功 //可以打印一下绝对路径 打印:file1.getAbslutePath();结果/Users/lanou/Desktop/zhang 2.利用父子路径创建file对象; File file2 = new File("/Users/lanou/Desktop","zhang"); 3.利用一个文件和一个路径来创建file ; File parent = new file(/User/lanou/Desktop") String child = "张"; File file3 = new File(parsent,child); file3.exists();
3.创建文件---获取文件名--获取文件绝对路径
1.File file1 = new File("/Users/lanou/Desktop/zhang/wang"); //该方法之创建一次文件, boolean b1 = file1.creatNewFile(); //打印b1第一次运行时正确的,第二次就是false 2.//获取文件名 ; String name = file1.getName(); 打印结果:wang; 3.//如果打印file 的路径;是绝对路径 System.out.println(file1); ///Users/lanou/Desktop/zhang/wang
4.创建文件夹: 单级 创建和多级创建
1.File file2 = new File ("/Users/lanou/Desktop/zhang/a") boolean b2 = file2.mkdir(); //结果是创建了一个文件夹
2.File file3 = new File("/Users/lanou/Desktop/zhang/a/b")boolean b3 = file3.mkdirs()://打印结果是: a文件夹里面还有个b 文件夹
5.查找文件夹下面所有文件;
File file = new File(2.File file3 = new File("/Users/lanou/Desktop/zhang/a/b") //返回一个字符数组,里面包含文件夹和文件; String[] list = file.list(); 遍历数组; for (String st:list){ System.out.printlu(st+" -") } //获取文件 数组,将文件夹和文件进行区分; File [] list1 =file.listFiles(); for(File file3: list1){ if(file3.isFile) System.out.println(file3); }else{ System.out.println(file3); }
5.判断对象下面是文件还是文件夹
File file1=new File(/Users/lanou/Desktop/zhang/wl.txt); //判断文件 boolean b1 = file1.isFile(); //判断文件夹 boolean b2 = file1.isDirectory(); 打印 b1 和b2;