java学习day19

一  异常

(1)异常:就是程序出现的不正常情况。
(2)异常体系:
Throwable
|--Error 严重的问题,是处理不了的。要改正代码的。
|--Exception 不严重的问题
|--非RuntimeException的,是需要处理的。编译期异常。
|--RuntimeException 不需要处理的,是需要改代码的。运行期异常。
注意:
每种体系的子类都是以父亲的名称作为后缀。
XxxError
XxxException
(3)java虚拟机的默认处理方式
把异常的类名,原因,位置等信息显示在控制台。
一旦有异常发生,其后的代码不能继续执行。


(4)异常的解决方案:
A:自己处理
基本格式:
try{
可能发生异常的代码;
}catch(异常类名 变量名){
异常的处理代码;
}finally{
释放资源的代码;
}
注意:一旦有一次发生,就会立马执行catch里面的代码。
变形格式:
try...catch
try...catch...catch
try...catch...catch...finally
try...finally

JDK7针对多个catch进行了优化:
catch(异常1 | 异常2 | 异常3 ... 变量){}


注意:这些异常必须是平级关系。
     和try...catch...catch的不同点是
     JDK7的这种方案是必须平级关系,不能有子父关系。
     而try...catch...catch父亲放最后是可以的。
B:抛出处理
用throws关键字在方法上声明(抛出)。

(5)Exception和RuntimeException的区别?

           A:Exception编译时期异常,必须处理的。

                     如果在方法上,throws了该类型的异常,将来调用者必须处理。

                     如果在方法内部,throw了该类型的异常对象,必须在方法上throws该异常。

           B:RuntimeException运行时期异常,是不需要处理的。要改代码的。

                     如果在方法上,throws了该类型的异常,调用者不需要处理。

                     如果在方法内部,throw了该类型的异常对象,方法上可以throws该异常,也可以不throws该异常。

(6)throw和throws的用法和区别?

           A:throw

                 用法:用在方法内部,后面跟的是异常对象名称。

                 区别:用throw抛出了编译时期异常,方法上面必须用throws抛出。

                       用throw抛出了运行时期异常,方法上面可以不用throws抛出。

           B:throws

                 用法:用在方法声明上,后面跟的是异常类名。

                 区别:用throws在方法声明上抛出了异常,内部可以没有throw



二  File类

(1)概述
       因为数据在硬盘上最常见的方式,就是文件。而文件本身有很多的属性,比如说:文件大小,是否可读,是否隐藏。
       那么java为了方便我们对文件进行操作,就提供了File类供我们使用。
       File:既可以表示文件,也可以表示(目录)文件夹。  
 (2)构造方法:
        File(String pathname):根据指定的路径创建File对象。
File(String parent,String child):根据指定的父文件夹和子文件或者文件夹创建File对象
        File(File parent,String child):根据指定的父文件夹对象和子文件或者文件夹创建File对象
(3)成员方法:
        a:创建功能:
      创建文件:public boolean createNewFile()如果指定的文件不存在,就创建。如果存在, 就不创建,如果创建了就返回true
      创建文件夹:public boolean mkdir()创建指定的目录,如果存在,就不创建
                      public boolean mkdirs()创建指定的目录,如果存在,就不创建。这个时候,如果父目录不存在,它也会自动创建
            
                   绝对路径:以盘符开始的路径
  相对路径:不以盘符开始的路径

       b:删除功能:
            public boolean delete():  既可以删除文件,也可以删除文件夹。取决于你使用的对象。如果删除成功返回true


       c:判断功能:
            public boolean exists():  判断file对象是否存在
    public boolean ifFile():  判断file对象是否是文件
    public boolean isDirectory():  判断file对象是否是文件夹
    public boolean isAbsolute():   判断file对象是否是绝对路径
    public boolean canRead():     判断file对象是否可读
    public boolean canWrite():    判断file对象是否可写
    public boolean isHidden():    判断file对象是否隐藏
        d:获取功能:
            String getAbsolutePath():   获取指定的绝对路径
    String getPath():           获取相对路径
    String getName():           文件名称
    long length(): 文件大小,单位是字节
    long lastModified():        上次修改时间的毫秒值
    public static File[] listRoots(): 列出可用的系统文件根目录
    public String[] list(): 返回的是指定目录下所有文件或者文件夹的名称数组
    public File[] listFiles(): 返回的是指定目录下所有文件或者文件夹对象数组
       

你可能感兴趣的:(JAVA学习笔记)