




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE10授課內(nèi)容學(xué)時(shí)分配教學(xué)方法與手段進(jìn)度計(jì)劃(周次)課堂講授(學(xué)時(shí))上機(jī)實(shí)踐(學(xué)時(shí))Java入門2201Java應(yīng)用程序的基本結(jié)構(gòu)4221-2標(biāo)識(shí)符與簡(jiǎn)單的數(shù)據(jù)類型運(yùn)算符、表達(dá)式與語句2202類與對(duì)象8623~4子類與繼承4405接口與實(shí)現(xiàn)4226內(nèi)部類與異常類2207常用實(shí)用類4407-8輸入、輸出流2208組件及事件處理6429-10Java多線程機(jī)制44010-11Java網(wǎng)絡(luò)編程22011JDBC數(shù)據(jù)庫操作42212總學(xué)時(shí)=SUM(ABOVE)48=SUM(ABOVE)38=SUM(ABOVE)10
各章教學(xué)實(shí)施計(jì)劃章節(jié)題目第10章輸入、輸出流10.1節(jié)-10.5節(jié)10.6節(jié)-10.12節(jié)(課時(shí)所限,學(xué)生自主學(xué)習(xí))學(xué)時(shí)2教學(xué)目的、要求(分了解、理解、掌握三個(gè)層次):1、了解File類。2、掌握字節(jié)流與字符流。3、掌握文件字節(jié)流。4、掌握文件字符流。5、掌握緩沖流了解隨機(jī)流、數(shù)組流、數(shù)據(jù)流、對(duì)象流、序列化與對(duì)象克隆、文件鎖、使用Scanner解析文件。教學(xué)內(nèi)容(包括基本內(nèi)容、重點(diǎn)、難點(diǎn)):基本內(nèi)容:File類◆字節(jié)流與字符流文件字節(jié)流◆文件字符流緩沖流◆隨機(jī)流數(shù)組流◆數(shù)據(jù)流對(duì)象流◆序列化與對(duì)象可隆文件鎖◆使用Scanner解析文件重點(diǎn)包括通過文件流讀寫數(shù)據(jù)、字節(jié)流與字符流的區(qū)別;掌握流的連接思想;輸入輸出流的使用、緩沖流。難點(diǎn)流的連接思想、流的應(yīng)用。討論、思考題、作業(yè):P203習(xí)題101-10題自主學(xué)習(xí)第10章10.6-10.12節(jié)參考書目(含參考書、文獻(xiàn)等)具體內(nèi)容:參考書對(duì)應(yīng)章節(jié)
課堂教學(xué)實(shí)施計(jì)劃第13課教學(xué)過程設(shè)計(jì):復(fù)習(xí)分鐘;授新課95分鐘討論5分鐘;其它分鐘授課類型(請(qǐng)打√):理論課√討論課□實(shí)驗(yàn)課□習(xí)題課□其它□教學(xué)方式(請(qǐng)打√):講授√討論□示教□指導(dǎo)□其它□教學(xué)手段(請(qǐng)打√):多媒體模型□實(shí)物□掛圖□音像□其它√主要內(nèi)容File類◆字節(jié)流與字符流文件字節(jié)流◆文件字符流緩沖流◆隨機(jī)流數(shù)組流◆數(shù)據(jù)流對(duì)象流◆序列化與對(duì)象可隆文件鎖◆使用Scanner解析文件重點(diǎn)包括通過文件流讀寫數(shù)據(jù)、字節(jié)流與字符流的區(qū)別;掌握流的連接思想;輸入輸出流的使用、緩沖流。難點(diǎn)流的連接思想、流的應(yīng)用。第10章輸入、輸出流§10.1File類File對(duì)象主要用來獲取文件本身的一些信息,不涉及對(duì)文件的讀寫操作。創(chuàng)建一個(gè)File對(duì)象的構(gòu)造方法有3個(gè):File(Stringfilename);File(StringdirectoryPath,Stringfilename);File(Filef,Stringfilename);§10.1.1文件的屬性File類的下列方法獲取文件本身的一些信息。publicStringgetName()獲取文件的名字。publicbooleancanRead()判斷文件是否是可讀的。publicbooleancanWrite()判斷文件是否可被寫入。publicbooleanexits()判斷文件是否存在。publiclonglength()獲取文件的長度(單位是字節(jié))。publicStringgetAbsolutePath()獲取文件的絕對(duì)路徑。publicStringgetParent()獲取文件的父目錄。publicbooleanisFile()判斷文件是否是一個(gè)普通文件,而不是目錄。publicbooleanisDirectroy()判斷文件是否是一個(gè)目錄。publicbooleanisHidden()判斷文件是否是隱藏文件。publiclonglastModified()獲取文件最后修改的時(shí)間。例子1Example10_1.javaimportjava.io.*;publicclassExample10_1{publicstaticvoidmain(Stringargs[]){Filef=newFile("C:\\ch10","Example10_1.java");System.out.println(f.getName()+"是可讀的嗎:"+f.canRead());System.out.println(f.getName()+"的長度:"+f.length());System.out.println(f.getName()+"的絕對(duì)路徑:"+f.getAbsolutePath());Filefile=newFile("new.txt");System.out.println("在當(dāng)前目錄下創(chuàng)建新文件"+file.getName());if(!file.exists()){try{file.createNewFile();System.out.println("創(chuàng)建成功");}catch(IOExceptionexp){}}}}§10.1.2目錄創(chuàng)建目錄publicbooleanmkdir()列出目錄中的文件publicString[]list()用字符串形式返回目錄下的全部文件。publicFile[]listFiles()用File對(duì)象形式返回目錄下的全部文件。publicString[]list(FilenameFilterobj)用字符串形式返回目錄下的指定類型的所有文件。publicFile[]listFiles(FilenameFilterobj)用File對(duì)象形式返回目錄下的指定類型所有文件。上述兩方法的參數(shù)FilenameFilter是一個(gè)接口,該接口有一個(gè)方法:publicbooleanaccept(Filedir,Stringname);例子2Example10_2.javaimportjava.io.*;publicclassExample10_2{publicstaticvoidmain(Stringargs[]){Filedir=newFile(".");FileAcceptfileAccept=newFileAccept();fileAccept.setExtendName("java");StringfileName[]=dir.list(fileAccept);for(Stringname:fileName){System.out.println(name);}}}FileAccept.javaimportjava.io.*;publicclassFileAcceptimplementsFilenameFilter{privateStringextendName;publicvoidsetExtendName(Strings){extendName="."+s;}publicbooleanaccept(Filedir,Stringname){//重寫接口中的方法returnname.endsWith(extendName);}}§10.1.3文件的創(chuàng)建與刪除當(dāng)使用File類創(chuàng)建一個(gè)文件對(duì)象后,例如Filefile=newFile("c:\\myletter","letter.txt");如果c:\myletter目錄中沒有名字為letter.txt文件,文件對(duì)象file調(diào)用方法publicbooleancreateNewFile();文件對(duì)象調(diào)用方法publicbooleandelete()可以刪除當(dāng)前文件,§10.1.4運(yùn)行可執(zhí)行文件(簡(jiǎn)單介紹)用Runtime類聲明一個(gè)對(duì)象(Runtime類在java.lang包)Runtimeec;然后使用該類的getRuntime()靜態(tài)方法創(chuàng)建這個(gè)對(duì)象:ec=Runtime.getRuntime();ec可以調(diào)用exec(Stringcommand)方法打開本地機(jī)的可執(zhí)行文件或執(zhí)行一個(gè)操作。課后學(xué)生自主閱讀例子3并調(diào)試。例子3Example10_3.javaimportjava.io.*;publicclassExample10_3{publicstaticvoidmain(Stringargs[]){try{Runtimece=Runtime.getRuntime();Filefile=newFile("c:/windows","Notepad.exe");ce.exec(file.getAbsolutePath());file=newFile("C:\\ProgramFiles\\InternetExplorer","IEXPLORE");ce.exec(file.getAbsolutePath());}catch(Exceptione){System.out.println(e);}}}§10.2字節(jié)流與字符流(重點(diǎn))java.io包提供了大量的流類,Java把InputStream抽象類的子類創(chuàng)建的流對(duì)象稱作字節(jié)輸入流;OutputStream抽象類的子類創(chuàng)建的流對(duì)象稱作字節(jié)輸出流。Java把Reader抽象類的子類創(chuàng)建的流對(duì)象稱作字符輸入流;Writer抽象類的子類創(chuàng)建的流對(duì)象稱作字符輸出流。針對(duì)不同的源或目的地。java.io包為程序提供了相應(yīng)的輸入流或輸出流。這些輸入、輸出流絕大部分都是InputStream、OutputStream、Reader或Writer的子類?!?0.2.1InputStream類與OutputSream類InputStream類提供的read方法以字節(jié)為單位順序地讀取源中的數(shù)據(jù),只要不關(guān)閉流,每次調(diào)用read方法就順序地讀取源中的其余內(nèi)容,直到源的末尾或輸入流被關(guān)閉。InputStream類有如下常用的方法。intread()intread(byteb[])intread(byteb[],intoff,intlen)voidclose()longskip(longnumBytes)OutputStream流以字節(jié)為單位順序地寫文件,只要不關(guān)閉流,每次調(diào)用write方法就順序地向目的地寫入內(nèi)容,直到流被關(guān)閉。OutputStream類有如下的常用的方法。voidwrite(intn)voidwrite(byteb[])voidwrite(byteb[],intoff,intlen)voidclose()§10.2.2Reader類與Writer類1.Reader類提供的read方法以字符為單位順序地讀取源中的數(shù)據(jù)。intread():intread(charb[]):intread(charb[],intoff,intlen):voidclose():longskip(longnumBytes):2.Writer流以字符為單位順序地寫文件,每次調(diào)用write方法就順序地向目的地寫入內(nèi)容。Writer類有如下常用的方法。voidwrite(intn):向輸出流寫入一個(gè)字符。voidwrite(byteb[]):向輸出流寫入一個(gè)字符數(shù)組。voidwrite(byteb[],intoff,intlength):從給定字符數(shù)組中起始于偏移量off處取len個(gè)字符寫到輸出流。voidclose():關(guān)閉輸出流?!?0.2.3關(guān)閉流流都提供了關(guān)閉方法close(),盡管程序結(jié)束時(shí)會(huì)自動(dòng)關(guān)閉所有打開的流,但是當(dāng)程序使用完流后,顯式地關(guān)閉任何打開的流仍是一個(gè)良好的習(xí)慣。通過調(diào)用close()方法,可以保證操作系統(tǒng)把流緩沖區(qū)的內(nèi)容寫到它的目的地,即關(guān)閉輸出流可以把該流所用的緩沖區(qū)的內(nèi)容沖洗掉(通常沖洗到磁盤文件上)。§10.3文件字節(jié)流(重點(diǎn))由于應(yīng)用程序經(jīng)常需要和文件打交道,所以InputStream專門提供了讀寫文件的子類:FileInputStream和FileOutputSream類。如果程序?qū)ξ募牟僮鞅容^簡(jiǎn)單,比如只是順序地讀寫文件,那么就可以使用FileInputStream和FileOutputSream類創(chuàng)建的流對(duì)文件進(jìn)行讀寫操作?!?0.3.1文件字節(jié)輸入流FileInputStream類創(chuàng)建的對(duì)象被稱作文件字節(jié)輸入流。◆構(gòu)造方法:FileInputStream(Stringname);FileInputStream(Filefile);讀取一個(gè)名為hello.txt的文件,建立一個(gè)文件輸入流對(duì)象,如下所示:try{FileInputStreamin=newFileInputStream("hello.txt");}catch(IOExceptione){System.out.println("Filereaderror:"+e);}例子4Example10_4.javaimportjava.io.*;publicclassExample10_4{publicstaticvoidmain(Stringargs[]){intn=-1;byte[]a=newbyte[100];try{Filef=newFile("Example10_4.java");FileInputStreamin=newFileInputStream(f);while((n=in.read(a,0,100))!=-1){Strings=newString(a,0,n);System.out.print(s);}in.close();}catch(IOExceptione){System.out.println("FilereadError"+e);}}}§10.3.2文件字節(jié)輸出流創(chuàng)建文件字節(jié)輸出流FileOutputStream類創(chuàng)建的對(duì)象被稱作文件字節(jié)輸出流?!魳?gòu)造方法:FileOutputStream(Stringname)FileOutputStream(Filefile)例子5Example10_5.javaimportjava.io.*;publicclassExample10_5{publicstaticvoidmain(Stringargs[]){byte[]a="國慶60周年".getBytes();byte[]b="十一快樂".getBytes();try{FileOutputStreamout=newFileOutputStream("happy.txt");out.write(a);out.write(b,0,b.length);out.close();}catch(IOExceptione){System.out.println("Error"+e);}}}§10.4文件字符流(重點(diǎn))1.FileReader和FileWriter用來創(chuàng)建文件字符輸入、輸出流,構(gòu)造方法:FileReader(Stringfilename);FileReader(Filefilename);FileWriter(Stringfilename);FileWriter(Filefilename);2.字符輸入流和輸出流的read和write方法以字符為基本單位處理數(shù)據(jù)。例子6Example10_6.javaimportjava.io.*;publicclassExample10_6{publicstaticvoidmain(Stringargs[]){Stringcontent="broadsword勇者無敵";try{Filef=newFile("hello.txt");char[]a=content.toCharArray();FileWriterout=newFileWriter(f);out.write(a,0,a.length);out.close();FileReaderin=newFileReader(f);StringBuffers=newStringBuffer();chartom[]=newchar[10];intn=-1;while((n=in.read(tom,0,10))!=-1){Stringtemp=newString(tom,0,n);s.append(temp);}in.close();System.out.println(newString(s));}catch(IOExceptione){System.out.println(e.toString());}}}§10.5緩沖流(簡(jiǎn)單介紹)1BufferedReader和BufferedWriter類創(chuàng)建的對(duì)象稱作緩沖輸入、輸出流。二者的源和目的地必須是字符輸入流和字符輸出流。構(gòu)造方法:BufferedReader(Readerin);BufferedWriter(Writerout);2BufferedReader和BufferedWriter類讀寫文件的方法:readLine()讀取文本行write(Strings,intoff,intlen)把字符串s寫到文件中newLine();向文件寫入一個(gè)回行符例子7Example10_7.javaimportjava.io.*;publicclassExample10_7{publicstaticvoidmain(Stringargs[]){Filefile=newFile("Student.txt");Stringcontent[]={"商品列表:","電視機(jī),2567元/臺(tái)","洗衣機(jī),3562.元/臺(tái)","冰箱,6573元/臺(tái)"};try{FileWriteroutOne=newFileWriter
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 益陽醫(yī)學(xué)高等??茖W(xué)?!度瞬潘刭|(zhì)測(cè)評(píng)與選拔》2023-2024學(xué)年第二學(xué)期期末試卷
- 做賬實(shí)操-機(jī)械制造公司的賬務(wù)處理分錄
- 鄭州經(jīng)貿(mào)學(xué)院《網(wǎng)路原理與技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 陜西服裝工程學(xué)院《專業(yè)課程綜合2(酒店)》2023-2024學(xué)年第二學(xué)期期末試卷
- 貴陽人文科技學(xué)院《環(huán)境與食品安全》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025山西省建筑安全員-C證考試題庫
- 廣西財(cái)經(jīng)學(xué)院《老年社會(huì)工作》2023-2024學(xué)年第二學(xué)期期末試卷
- 大連理工大學(xué)城市學(xué)院《地理空間數(shù)據(jù)庫》2023-2024學(xué)年第二學(xué)期期末試卷
- 常德職業(yè)技術(shù)學(xué)院《藥劑學(xué)A》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西金融職業(yè)學(xué)院《公共危機(jī)治理》2023-2024學(xué)年第二學(xué)期期末試卷
- 射頻同軸電纜簡(jiǎn)介
- 《勞動(dòng)專題教育》課件-勞動(dòng)的產(chǎn)生
- 中央經(jīng)濟(jì)會(huì)議2024原文及解釋
- QB-T 5823-2023 工坊啤酒機(jī)械 發(fā)酵罐
- 新高考化學(xué)2024備考選擇題高頻熱點(diǎn)專項(xiàng)突破16 弱電解質(zhì)的電離平衡
- 2021年古包頭市昆都侖區(qū)水務(wù)公司招聘考試試題及答案
- 關(guān)于中小企業(yè)“融資難”問題的對(duì)策研究-基于臺(tái)灣經(jīng)驗(yàn)和啟示
- 固體廢棄物管理培訓(xùn)
- 硬件工程師職業(yè)生涯規(guī)劃
- 【高新技術(shù)企業(yè)所得稅稅務(wù)籌劃探析案例:以科大訊飛為例13000字(論文)】
- 提升管理層領(lǐng)導(dǎo)力的酒店管理培訓(xùn)課程
評(píng)論
0/150
提交評(píng)論