第十六單元corejava文件流_第1頁
第十六單元corejava文件流_第2頁
第十六單元corejava文件流_第3頁
第十六單元corejava文件流_第4頁
第十六單元corejava文件流_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第十六單元轉(zhuǎn)換流File流的分類字節(jié)流和字符流對象序列化案例引入什么是文件?文件文件可以是相關(guān)記錄或放在一起的數(shù)據(jù)集合文件-概念File類是IO包中唯一代表磁盤文件本身信息的類,而不是文件中的內(nèi)容。File類定義了一些與平臺無關(guān)的方法來操作文件,如:創(chuàng)建、刪除文件和重命名文件。Java中的目錄被當(dāng)作一種特殊的文件使用,list方法可以返回目錄中的所有子目錄和文件名。在unix/linux下的路徑分隔符/,Dos的路徑分隔符\,java可以正確處理unix和dos路徑分隔符。示例:判斷某個文件是否存在,存在則刪除,不存在則創(chuàng)建。文件-常見方法常用的方法:(重要)createNewFile():創(chuàng)建一個文件(不是文件夾)(重要)list():遍歷所有目錄下的文件,返回字符串?dāng)?shù)組(重要)delete():刪除指定的文件getName():獲取文件名稱(重要)mkDir():創(chuàng)建一個目錄(重要)mkDirs():創(chuàng)建聯(lián)級目錄(重要)isDirectory():判斷是否為目錄(重要)isFile():判斷是否為文件(重要)exists():判斷是否存在流流-概念大部分程序都要進(jìn)行輸入/輸出處理,比如從鍵盤讀取數(shù)據(jù),保存一個文件或讀入一個文件以及在網(wǎng)絡(luò)連接上獲取數(shù)據(jù)等等。Java的輸入/輸出處理主要封裝在java.io包中,Java將這些不同類型的輸入/輸出源抽象為流,用統(tǒng)一的接口來表示,并提供獨立于設(shè)備和平臺的流操作類,從而使程序設(shè)計簡單明了。流的分類按流的單位大小分:字節(jié)流和字符流按流的功能:節(jié)點流和過濾流按流的方向:輸入流和輸出流字節(jié)流 InputStream OutputStream字符流 Reader Writer轉(zhuǎn)換流 InputStreamReader OutputStreamWriter對象流 ObjectInputStream ObjectOutputStream對象序列化序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內(nèi)容進(jìn)行流化??梢詫α骰蟮膶ο筮M(jìn)行讀寫操作,也可將流化后的對象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對對象流進(jìn)行讀寫操作時所引發(fā)的問題。序列化的實現(xiàn):將需要被序列化的類實現(xiàn)Serializable接口,然后使用一個輸出流(如:FileOutputStream)來構(gòu)造一個ObjectOutputStream(對象流)對象,接著,使用ObjectOutputStream對象的writeObject(Objectobj)方法就可以將參數(shù)為obj的對象寫出(即保存其狀態(tài)),要恢復(fù)的話則用輸入流在進(jìn)行對象序列化和反序列中,會用到兩個類,它們是ObjectInputStream和ObjectOutputStream類,它們分別實現(xiàn)了ObjectInput和ObjectOutput接口。異常在程序設(shè)計過程中有兩種錯誤:一種是語法錯誤,語法錯誤在編譯時會檢測出來,并不會生成運行代碼,語法錯誤也叫編譯錯誤。另一種是運行錯誤,它在運行時才會發(fā)生。異常通常指的是運行錯誤,它是干擾程序正常運行的不正常現(xiàn)象。常見異常類

ArithmeticException

IndexOutOfBoundsException

ArrayIndexOutOfBoundsExceptionClassCastExceptionClassNotFoundExceptionNullPointerExceptionFileNotFoundExceptionIOException關(guān)鍵字 try catch finallytry-catch格式語法:try{

可能出現(xiàn)異常的代碼段;}catch(異常類類名變量名){

當(dāng)異常出現(xiàn)時的錯誤處理代碼段;}try-catch-finally格式語法:try{

可能出現(xiàn)異常的代碼段;}catch(異常類類名變量名

){

當(dāng)異常出現(xiàn)時的錯誤處理代碼段;}finally{……}關(guān)鍵字 throws throwthrowsthrows關(guān)鍵字用于聲明方法拋出的異常。如果一個方法碰到自己無法處理的情況,就應(yīng)該拋出一個異常。對于一個可能產(chǎn)生異常的方法來說,如果在方法內(nèi)能處理就可以在方法中用try/catch等結(jié)構(gòu)處理掉,否則應(yīng)該能告訴方法的調(diào)用者該方法使用過程中可能會產(chǎn)生異常,以便調(diào)用者對異常進(jìn)行捕獲處理。若可能產(chǎn)生多個異常,異常之間用逗號隔開。throw我們僅僅在捕獲被Java運行時系統(tǒng)所拋出的異常。然而,對你的程序來說,使用throw語句顯式拋出一個異常是可能的。throw的一般形式如下所示。

語法:throw異常類對象;自定義異常

Java類庫中提供了非常豐富的異常類型,能夠滿足大多數(shù)編程的需要,但也有一些時候,程序中需要定義自己的異常類來處理應(yīng)用程序中特有的情況。

自定義的異常必須是直接或間接派生自Throwable類,通常的做法是從Exception類直接派生,類名通常加后綴Exception。思考題有沒有不需要異常處理的程序?

案例討論String[]array={“%”,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論