Java面向对象第十二天( -- 异常处理Exception--File类--- )

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;







猜你喜欢

转载自blog.csdn.net/a18755425397/article/details/80456118