day19

1:異常(理解)

(1)程序出現(xiàn)的不正常的情況毅舆。

(2)異常的體系

Throwable
            |--Error    嚴重問題西篓,我們不處理。
            |--Exception
                |--RuntimeException 運行期異常憋活,我們需要修正代碼
                |--非RuntimeException 編譯期異常岂津,必須處理的,否則程序編譯不通過

(3)異常的處理:

A:JVM的默認處理
把異常的名稱,原因,位置等信息輸出在控制臺悦即,但是呢程序不能繼續(xù)執(zhí)行了吮成。
B:自己處理
a:try...catch...finally
自己編寫處理代碼,后面的程序可以繼續(xù)執(zhí)行
b:throws
把自己處理不了的,在方法上聲明盐欺,告訴調(diào)用者,這里有問題

(4)面試題

A:編譯期異常和運行期異常的區(qū)別?
編譯期異常 必須要處理的冗美,否則編譯不通過
運行期異常 可以不處理,也可以處理
B:throw和throws是的區(qū)別
throw:
在方法體中,后面跟的是異常對象名,并且只能是一個
throw拋出的是一個異常對象节预,說明這里肯定有一個異常產(chǎn)生了
throws:
在方法聲明上,后面跟的是異常的類名,可以是多個
throws是聲明方法有異常,是一種可能性安拟,這個異常并不一定會產(chǎn)生

(5)finally關(guān)鍵字及其面試題

A:finally用于釋放資源宵喂,它的代碼永遠會執(zhí)行。特殊情況:在執(zhí)行到finally之前jvm退出了
B:面試題
a:final,finally,finalize的區(qū)別?
final:最終的意思锅棕,可以修飾類,成員變量顾瞻,成員方法
修飾類,類不能被繼承
修飾變量荷荤,變量是常量
修飾方法移稳,方法不能被重寫
finally:是異常處理的一部分,用于釋放資源个粱。
一般來說,代碼肯定會執(zhí)行几蜻,特殊情況:在執(zhí)行到finally之前jvm退出了
finalize:是Object類的一個方法,用于垃圾回收
b:如果在catch里面有return,請問finally還執(zhí)行嗎?如果執(zhí)行,在return前還是后
會颖低,前弧烤。
實際上在中間。這個上課我們講過
C:異常處理的變形
try...catch...finally
try...catch...
try...catch...catch...
try...catch...catch...fianlly
try...finally

(6)自定義異常

    繼承自Exception或者RuntimeException,只需要提供無參構(gòu)造和一個帶參構(gòu)造即可

(7)異常的注意實現(xiàn)

A:父的方法有異常拋出,子的重寫方法在拋出異常的時候必須要小于等于父的異常
B:父的方法沒有異常拋出,子的重寫方法不能有異常拋出
C:父的方法拋出多個異常,子的重寫方法必須比父少或者小

2:File(掌握)

(1)IO流操作中大部分都是對文件的操作暇昂,所以Java就提供了File類供我們來操作文件

(2)構(gòu)造方法

A:File file = new File("e:\demo\a.txt");
B:File file = new File("e:\demo","a.txt");
C:File file = new File("e:\demo");
File file2 = new File(file,"a.txt");

(3)File類的功能(自己補齊)

A:創(chuàng)建功能
*public boolean createNewFile():創(chuàng)建文件 如果存在這樣的文件,就不創(chuàng)建了
*public boolean mkdir():創(chuàng)建文件夾 如果存在這樣的文件夾从铲,就不創(chuàng)建了
*public boolean mkdirs():創(chuàng)建文件夾,如果父文件夾不存在澄暮,會幫你創(chuàng)建出來
B:刪除功能:public boolean delete()
注意:
A:如果你創(chuàng)建文件或者文件夾忘了寫盤符路徑,那么泣懊,默認在項目路徑下。
B:Java中的刪除不走回收站馍刮。
C:要刪除一個文件夾,請注意該文件夾內(nèi)不能包含文件或者文件夾
C:重命名功能
重命名功能:public boolean renameTo(File dest)
如果路徑名相同静稻,就是改名。
如果路徑名不同姊扔,就是改名并剪切梅誓。
路徑以盤符開始:絕對路徑 c:\a.txt
路徑不以盤符開始:相對路徑 a.txt
D:判斷功能
*public boolean isDirectory():判斷是否是目錄

  • public boolean isFile():判斷是否是文件
  • public boolean exists():判斷是否存在
  • public boolean canRead():判斷是否可讀
  • public boolean canWrite():判斷是否可寫
  • public boolean isHidden():判斷是否隱藏
    E:獲取功能
  • public String getAbsolutePath():獲取絕對路徑
  • public String getPath():獲取相對路徑
  • public String getName():獲取名稱
  • public long length():獲取長度。字節(jié)數(shù)
  • public long lastModified():獲取最后一次的修改時間嵌言,毫秒值
    F:高級獲取功能
  • public String[] list():獲取指定目錄下的所有文件或者文件夾的名稱數(shù)組
  • public File[] listFiles():獲取指定目錄下的所有文件或者文件夾的File數(shù)組
    G:過濾器功能
  • 要想實現(xiàn)這個效果,就必須學(xué)習(xí)一個接口:文件名稱過濾器
  • public String[] list(FilenameFilter filter)
  • public File[] listFiles(FilenameFilter filter)
public static void main(String[] args) {
        // 封裝e判斷目錄
        File file = new File("e:\\");

        // 獲取該目錄下所有文件或者文件夾的String數(shù)組
        // public String[] list(FilenameFilter filter)
// FilenameFilte是一個接口摧茴,實際要的是接口的實現(xiàn)類
        String[] strArray = file.list(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                return new File(dir, name).isFile() && name.endsWith(".jpg");
            }
        });

        // 遍歷
        for (String s : strArray) {
            System.out.println(s);
        }
    }

(4)案例:

A:輸出指定目錄下指定后綴名的文件名稱
a:先獲取所有的埂陆,在遍歷的時候判斷娃豹,再輸出
b:先判斷购裙,再獲取,最后直接遍歷輸出即可
B:批量修改文件名稱

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末躯畴,一起剝皮案震驚了整個濱河市薇芝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌夯到,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件峭状,死亡現(xiàn)場離奇詭異,居然都是意外死亡优床,警方通過查閱死者的電腦和手機誓焦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來移层,“玉大人,你說我怎么就攤上這事观话。” “怎么了频蛔?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵秦叛,是天一觀的道長。 經(jīng)常有香客問我挣跋,道長,這世上最難降的妖魔是什么舟肉? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮路媚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己现柠,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布够吩。 她就那樣靜靜地躺著,像睡著了一般周循。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上湾笛,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天嚎研,我揣著相機與錄音,去河邊找鬼临扮。 笑死,一個胖子當(dāng)著我的面吹牛杆勇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蚜退,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼传黄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起膘掰,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎凡伊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體系忙,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡惠豺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了洁墙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡捺弦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出列吼,到底是詐尸還是另有隱情,我是刑警寧澤寞钥,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布盈简,位于F島的核電站,受9級特大地震影響柠贤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜臼勉,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望宴霸。 院中可真熱鬧,春花似錦瓢谢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽千所。三九已至,卻和暖如春淫痰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背待错。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蚯撩,地道東北人。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像沟启,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子德迹,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 19.01_異常(異常的概述和分類) A:異常的概述異常就是Java程序在運行過程中出現(xiàn)的錯誤。 B:異常的分類通...
    冰川_閱讀 407評論 0 1
  • 19.01_異常(異常的概述和分類) A:異常的概述異常就是Java程序在運行過程中出現(xiàn)的錯誤卸例。 B:異常的分類通...
    dreamkong閱讀 278評論 0 1
  • 文件操作介紹 打開文件 在python肌毅,使用open函數(shù)耙替,可以打開一個已經(jīng)存在的文件钉鸯,或者創(chuàng)建一個新文件 open...
    冰封心動閱讀 404評論 0 0
  • [TOC] 異常 異常:異常就是Java程序在運行過程中出現(xiàn)的 錯誤 狮杨。 異常由來:問題也是現(xiàn)實生活中一個具體事務(wù)...
    lutianfei閱讀 446評論 0 1
  • I/O的學(xué)習(xí)之字節(jié)流 今天的主要內(nèi)容 File類的使用File類概述和構(gòu)造方法File類的創(chuàng)建功能File類的重命...
    須臾之北閱讀 407評論 0 0