歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

Java PPT第六章輸入輸出流.ppt

  • 資源ID:11496715       資源大?。?span id="cocyld5" class="font-tahoma">337.31KB        全文頁數(shù):25頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。

Java PPT第六章輸入輸出流.ppt

1,第六章輸入輸出流,2,6.1輸入輸出基礎(chǔ),在Java語言中,輸入與輸出完全基于“流”這個(gè)概念。Java輸入輸出的流式接口為復(fù)雜而繁重的I/O編程任務(wù)提供了一個(gè)簡潔的抽象。,一、流的概念Java程序通過流來完成輸入/輸出。流通過Java的輸入/輸出系統(tǒng)與物理設(shè)備鏈接。輸入流能夠抽象多種不同類型的輸入:從磁盤文件、從鍵盤或從網(wǎng)絡(luò)套接字。同樣,一個(gè)輸出流可以輸出到控制臺(tái),磁盤文件或相連的網(wǎng)絡(luò)。二、字節(jié)流和字符流在Java2中,定義了兩種類型的流:字節(jié)類和字符類。1.字節(jié)流字節(jié)流(bytestream)為處理字節(jié)的輸入和輸出提供了方便的方法??梢允褂米止?jié)流讀取或書寫二進(jìn)制數(shù)據(jù)。,3,字節(jié)流由兩個(gè)類層次結(jié)構(gòu)定義。在頂層有兩個(gè)抽象類:InputStream和OutputStream。這兩個(gè)抽象類定義了實(shí)現(xiàn)其他流類的關(guān)鍵方法。最重要的兩種方法是read()和write(),它們分別對(duì)數(shù)據(jù)的字節(jié)進(jìn)行讀寫,這兩種方法在InputStream和OutputStream中被定義為抽象方法,它們都被派生的流類重載。下面是幾個(gè)常用的具體的字節(jié)流類:BufferedInputStream:緩沖輸入流BufferedOutputStream:緩沖輸出流FileInputStream:讀取文件的輸入流FileOutputStream:寫文件的輸出流InputStream:描述流輸入的抽象類OutputStream:描述流輸出的抽象類PrintStream:包含print()和println()的輸出流RandomAccessFile:支持隨機(jī)文件輸入/輸出,4,2.字符流字符流(characterstream)為字符的輸入和輸出處理提供了方便。字符流的頂層有兩個(gè)抽象類:Reader和Writer。這兩個(gè)抽象類定義了實(shí)現(xiàn)其他流類的關(guān)鍵方法。最重要的兩種方法是read()和write(),它們分別進(jìn)行字符的讀寫,都被派生的流類重載。下面是幾個(gè)常用的具體的字符流類:BufferedReader:緩沖輸入字符流BufferedWriter:緩沖輸出字符流FileReader:讀取文件的輸入流FileWriter:寫文件的輸出流InputStreamReader:把字節(jié)轉(zhuǎn)換成字符的輸入流LineNumberReader:計(jì)算行數(shù)的輸入流OutputStreamWriter:把字符轉(zhuǎn)換成字節(jié)的輸出流PrintWriter:包含print()和println()的輸出流Reader:描述字符流輸入的抽象類Writer:描述字符流輸出的抽象類,5,三、預(yù)定義流所有的Java程序運(yùn)行時(shí)自動(dòng)導(dǎo)入java.lang包,這個(gè)包定義了一個(gè)名為System的類,該類封裝了運(yùn)行時(shí)環(huán)境的多個(gè)方面。System還包含有3個(gè)預(yù)定義的字節(jié)流變量in、out和err。他們的定義如下:publicstaticInputStreamin;publicstaticPrintStreamout;publicstaticPrintStreamerr;,6,6.2控制臺(tái)輸入輸出,一、控制臺(tái)輸入1.BufferedReader緩沖輸入字符流類在Java2中,讀取控制臺(tái)輸入的首選方法應(yīng)該是字符流,它使程序容易符合國際標(biāo)準(zhǔn),并且易于維護(hù)??刂婆_(tái)輸入由從System.in讀取數(shù)據(jù)來完成。BufferedReader的構(gòu)造函數(shù)用法如下:BufferedReader(ReaderinputReader)其中,inputReader是鏈接被創(chuàng)建的BufferedReader實(shí)例的流。Reader是一個(gè)抽象的類,InputStreamReader是Reader的一個(gè)具體子類,該子類將字節(jié)轉(zhuǎn)換成字符。InputStreamReader的構(gòu)造函數(shù)為:InputStreamReader(InputStreaminputStream)可以這樣使用:InputStreamReader(System.in),7,綜上所述,下面的代碼創(chuàng)建了與鍵盤相連的BufferedReader對(duì)象:BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in)2.BufferedReader中重載方法read()和readLine()read()方法intread()throwsIOException該方法每次執(zhí)行都從輸入流中讀取一個(gè)字符,然后以整型形式返回。當(dāng)遇到流的尾時(shí),返回-1。readLine()方法StringreadLine()throwsIOException該方法每次執(zhí)行從輸入流中讀取一行字符,然后以String形式返回。當(dāng)遇到流的尾時(shí),返回null。,8,importjava.io.*;publicclassinputFISpublicstaticvoidmain(Stringargs)BufferedReaderss=newBufferedReader(newInputStreamReader(System.in);Strings,input;inta;floatb;charc;tryinput=ss.readLine();s=input;a=Integer.parseInt(input);b=Float.parseFloat(input);c=(char)ss.read();,必須進(jìn)行強(qiáng)制類型轉(zhuǎn)換,9,System.out.println(s);System.out.println(a);System.out.println(b);System.out.println(c);catch(IOExceptione)System.out.println("therearesomewronginI/O");,注:捕獲的異常類型是Exception時(shí),若輸入數(shù)據(jù)不符合parse方法的參數(shù)要求,該異常會(huì)被捕獲到。捕獲的異常類型是IOException時(shí),若輸入的數(shù)據(jù)不符合parse方法的參數(shù)要求,該異常不會(huì)被捕獲到,出現(xiàn)運(yùn)行時(shí)錯(cuò)誤。,異常類型可以是Exception,10,程序運(yùn)行時(shí),從鍵盤輸入:1234(若輸入非數(shù)字串則有運(yùn)行錯(cuò)誤)wrh輸出1234字符串1234整型數(shù)據(jù)1234.0實(shí)型數(shù)據(jù)w字符型數(shù)據(jù),11,3.每行輸入多個(gè)數(shù)據(jù)項(xiàng)上面的例子采用逐行讀取字符的方法,然后把每行數(shù)據(jù)作為輸入賦給一個(gè)變量。如果希望每行數(shù)據(jù)包含多個(gè)子數(shù)據(jù)項(xiàng),Java提供了專門的類StringTokenizer來分解一個(gè)包含分隔符號(hào)的大的字符串。用法如下:StringTokenizerst=newStringTokenizer(line,“:”)這里的字符串line的分隔符指定為“:”。也可指定多個(gè)分隔符,如果未指定分隔符,則使用缺省分隔符,即“空格”,“TAB”,”回車”。StringTokenizerst=newStringTokenizer(line)StringTokenizer有兩個(gè)方法,nextToken()返回下一個(gè)標(biāo)記,hasMoreTokens()返回后面是否還有標(biāo)記。,12,importjava.io.*;importjava.util.*;publicclassinputFISpublicstaticvoidmain(Stringargs)BufferedReaderss=newBufferedReader(newInputStreamReader(System.in);Strings,input;/暫時(shí)容納輸入數(shù)據(jù)的臨時(shí)字符串?dāng)?shù)組Stringfield=newString4;inta,fieldcount=0;floatb;charc;,13,tryinput=ss.readLine();/讀取一行StringTokenizerst=newStringTokenizer(input,":");while(st.hasMoreTokens()fieldfieldcount=st.nextToken();fieldcount+;s=field0;a=Integer.parseInt(field1);b=Float.parseFloat(field2);c=(char)ss.read();System.out.println(s);System.out.println(a);System.out.println(b);System.out.println(c);catch(IOExceptione)System.out.println("therearesomewronginI/O");,14,二、控制臺(tái)輸出,Java使用System.out向控制臺(tái)寫數(shù)據(jù),這種寫數(shù)據(jù)方式是字節(jié)流的方式,另外,Java還提供基于字符的寫操作,這個(gè)類是PrintWriter.PrintWriter定義了多個(gè)構(gòu)造函數(shù),下面是常用的一個(gè):PrintWriter(OutputStreamoutputStream,BooleanflushOnNewline)其中,flushOnNewline控制Java是否在println()方法被調(diào)用時(shí)刷新輸出流。如果flushOnNewline為true,刷新自動(dòng)發(fā)生,否則,則不發(fā)生。,15,importjava.io.*;classPrintWriterDemopublicstaticvoidmain(Stringargs)PrintWriterpw=newPrintWriter(System.out,true);Strings="thisisatest"inti=-7;floatf=23.4f;pw.println(s);pw.println(i);pw.println(f);,16,例:從鍵盤上輸入任意兩個(gè)整數(shù),求它們的和。,importjava.io.*;publicclassInputDemopublicstaticvoidmain(Stringargs)BufferedReaderread=newBufferedReader(newInputStreamReader(System.in);PrintWriterpw=newPrintWriter(System.out,true);inta,b,c;trya=Integer.parseInt(read.readLine();b=Integer.parseInt(read.readLine();c=a+b;pw.println("c="+c);catch(IOExceptione)pw.println("therearesomeerrors");,17,6.3文件的讀寫,一、常用的類對(duì)文件的讀寫操作和標(biāo)準(zhǔn)輸入輸出是十分類似的,需要注意的是要采用專門對(duì)文件操作的流,并應(yīng)在合適的時(shí)候關(guān)閉流,否則系統(tǒng)資源無法得到釋放。對(duì)文件操作時(shí),其輸入輸出流分別是FileReader和FileWriter。二、舉例例1:創(chuàng)建文件,即從鍵盤上輸入數(shù)據(jù),寫入磁盤文件。,18,importjava.io.*;importjava.util.*;classFileWpublicstaticvoidmain(Stringargs)personpeople=newperson();Stringread;inti;BufferedReaderinput=newBufferedReader(newInputStreamReader(System.in);tryPrintWriterout=newPrintWriter(newFileWriter("e:/java/file/people.dat");,19,for(i=0;i<3;i+)read=input.readLine();people.name=read;read=input.readLine();people.age=Integer.parseInt(read);read=input.readLine();people.id=read;out.println(people.name+""+people.age+""+people.id);out.close();catch(IOExceptione)System.out.println("ErrorforcreateFile");,20,classpersonpublicStringname;publicintage;publicStringid;,21,例2:從文件中讀出數(shù)據(jù),importjava.io.*;importjava.util.*;classFileRpublicstaticvoidmain(Stringargs)Stringread;tryBufferedReaderinput=newBufferedReader(newFileReader("e:/java/file/people.dat");read=input.readLine();while(!read.equals(null)System.out.println(read);read=input.readLine();input.close();,22,catch(IOExceptione)System.out.println("thefileisnotfound");catch(NullPointerExceptione)return;,23,6.4File類,File類直接處理文件和文件系統(tǒng),它描述了文件本身的屬性,例如:權(quán)限、時(shí)間、日期和目錄路徑。File類有三個(gè)構(gòu)造函數(shù)。如下:File(StringdirectoryPath);File(StringdirectoryPath,Stringfilename);File(Filedirobj,Stringfilename);,24,importjava.io.File;classFileDemostaticvoidp(Strings)System.out.println(s);publicstaticvoidmain(Stringargs)Filef1=newFile("e:/java/file/people.dat");p("FileName:"+f1.getName();p("Path:"+f1.getPath();p("abcPath:"+f1.getAbsolutePath();p("Parent:"+f1.getParent();p(f1.canWrite()?"iswriteable":"isnotwriteable");p(f1.canRead()?"isreadable":"isnotreadable");p("filelastmodified:"+f1.lastModified();p("Filesize:"+f1.length()+"Bytes");,25,輸出結(jié)果如下:,

注意事項(xiàng)

本文(Java PPT第六章輸入輸出流.ppt)為本站會(huì)員(tia****nde)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!