資源描述:
《java程序設(shè)計——07輸入輸出流》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、計算機(jī)科學(xué)與技術(shù)學(xué)院趙志崑zhaozk@sdufe.edu.cnJava程序設(shè)計Java程序的輸入輸出以一個小應(yīng)用為例,介紹Java的輸入輸出機(jī)制。小應(yīng)用需求分析需要實(shí)現(xiàn)的功能點(diǎn)Java中的實(shí)現(xiàn)方法具體代碼總結(jié)與擴(kuò)展隨機(jī)點(diǎn)名器功能:設(shè)計開發(fā)一個Java程序,每節(jié)課可以隨機(jī)抽取幾名同學(xué)點(diǎn)名,達(dá)到隨機(jī)點(diǎn)名的目的。數(shù)據(jù)來源:教務(wù)系統(tǒng)提供的學(xué)生名單(文本文件)Java程序顯示到屏幕保存到文件隨機(jī)選出10個學(xué)生程序流程與要點(diǎn)文本文件屏幕打印學(xué)生名單(內(nèi)存)選中名單(內(nèi)存)隨機(jī)選擇1讀文件2存數(shù)據(jù)3隨機(jī)選4寫文件學(xué)生名單選中名單選中名單文本文件隨
2、機(jī)點(diǎn)名器要點(diǎn)一:讀文件Java中文件以流(Stream)的方式讀寫,將程序的輸入輸出看作是數(shù)據(jù)的流動,一個流是一個字節(jié)的序列。流的使用不局限于文件讀寫,還可用于網(wǎng)絡(luò)傳輸、鍵盤輸入、屏幕輸出等和程序輸入輸出有關(guān)的一切活動。根據(jù)用途,Java中提供了幾十種流,類庫中為每一種流提供一個類,用于創(chuàng)建流(對象)。讀文件流用于讀文本文件內(nèi)容的流是FileReader,主要方法:FileReader(Stringfilename):構(gòu)造函數(shù),創(chuàng)建流。intread():讀一個字節(jié),若讀到文件結(jié)尾返回-1。voidclose():關(guān)閉流。FileRe
3、aderfr=newFileReader(“Students.txt”);intd=fr.read();fr.close();FileReader20-1學(xué)生數(shù)據(jù)讀入從文件students.txt中讀入學(xué)生數(shù)據(jù)。//Selector.javaimportjava.io.*;publicclassSelector{publicstaticvoidmain(String[]args)throwsException{FileReaderfr=newFileReader("Students.txt");intc=fr.read();while
4、(c!=-1){System.out.print((char)c);c=fr.read();}fr.close();}}說明:文件Students.txt必須放在同一個目錄下。必須在主函數(shù)聲明處加入“throwsException”將異常全部交給虛擬機(jī)處理以字符為單位處理數(shù)據(jù)??按行讀取BufferedReader類能實(shí)現(xiàn)按行讀取的功能,主要方法:BufferedReader(Readerreader):構(gòu)造函數(shù),創(chuàng)建流。StringreadLine():讀一行字符,若讀到文件結(jié)尾返回null。voidclose():關(guān)閉流。Buff
5、eredReaderFileReader字符字符串20080854101倫永濤2008計算機(jī)科學(xué)與技術(shù)1BufferedReaderbr=newBufferedReader(fr);Strings=br.readLine();br.close();null按行讀取數(shù)據(jù)的代碼按行讀取學(xué)生數(shù)據(jù)的代碼如下://Selector.javaimportjava.io.*;publicclassSelector{publicstaticvoidmain(String[]args)throwsException{FileReaderfr=newFi
6、leReader("Students.txt");BufferedReaderbr=newBufferedReader(fr);Strings=br.readLine();while(s!=null){System.out.println(s);s=br.readLine();}br.close();fr.close();}}BufferedReaderFileReader文件流的嵌套要點(diǎn)二:數(shù)據(jù)存放從文件讀入的數(shù)據(jù)是一個個字符串,如何在程序中存放?20080854101倫永濤……20080854102王楚堯……20080854103
7、李燕……用數(shù)組來保存批量數(shù)據(jù)創(chuàng)建一個字符串?dāng)?shù)組,將讀入的數(shù)據(jù)依次放入用一個整數(shù)型變量記錄數(shù)據(jù)個數(shù),并作為空閑位置的指針String[]students=newString[100];intcount=0;students[count]=s;count++;[0][1][2][3][4][…][…][98][99]students0count123數(shù)據(jù)存放的代碼加入數(shù)據(jù)存放后的代碼如下://Selector.javaimportjava.io.*;publicclassSelector{publicstaticvoidmain(Stri
8、ng[]args)throwsException{String[]students=newString[100];intcount=0;FileReaderfr=newFileReader("Students.txt")