資源描述:
《Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第08章).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第8章 文件和流浙江工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)浙江工業(yè)大學(xué)圖形圖像研究所高飛1練習(xí)思考題1、有以下程序段classMyThreadextendsThread{publicstaticvoidmain(Stringargs[]){MyThreadt=newMyThread();MyThreads=newMyThread();t.start();System.out.print("one.");s.start();System.out.print("two.");}publicvoidrun(){System.out.print("Thread");}}則下面正
2、確的選項(xiàng)是()A、編譯失敗B、程序運(yùn)行結(jié)果為:one.Threadtwo.ThreadC、程序運(yùn)行結(jié)果是:one.two.ThreaThreadD、程序運(yùn)行結(jié)果不確定2第8章 文件和流I/O流概述文件處理過(guò)濾流字符流的處理對(duì)象的序列化其他常用的流本章的目的:回顧關(guān)鍵詞:線程簡(jiǎn)介、Thread類的子類創(chuàng)建線程、實(shí)現(xiàn)Runnable接口、基本的線程控制38.1I/O流概述輸入/輸出處理是程序設(shè)計(jì)中非常重要的一部分,比如從鍵盤讀取數(shù)據(jù)、從文件中讀取數(shù)據(jù)或向文件中寫數(shù)據(jù)等等。Java把這些不同類型的輸入、輸出源抽象為流(stream),用統(tǒng)一接口來(lái)表示,從而使程序
3、簡(jiǎn)單明了。jdk提供了包java.io,其中包括一系列的類來(lái)實(shí)現(xiàn)輸入/輸出處理。下面我們對(duì)java.io包的內(nèi)容進(jìn)行概要的介紹。458.1.1I/O流的層次1.字節(jié)流:從InputStream和OutputStream派生出來(lái)的一系列類。這類流以字節(jié)(byte)為基本處理單位?!驣nputStream、OutputStream◇FileInputStream、FileOutputStream◇PipedInputStream、PipedOutputStream◇ByteArrayInputStream、ByteArrayOutputStream◇Filte
4、rInputStream、FilterOutputStream◇DataInputStream、DataOutputStream◇BufferedInputStream、BufferedOutputStream62.字符流:從Reader和Writer派生出的一系列類,這類流以16位的Unicode碼表示的字符為基本處理單位。◇Reader、Writer◇InputStreamReader、OutputStreamWriter◇FileReader、FileWriter◇CharArrayReader、CharArrayWriter◇PipedReader
5、、PipedWriter◇FilterReader、FilterWriter◇BufferedReader、BufferedWriter◇StringReader、StringWriter73.對(duì)象流◇ObjectInputStream、ObjectOutputStream4.其它◇文件處理:File、RandomAccessFile;◇接口DataInput、DataOutput、ObjectInput、ObjectOutput;88.1.2InputStream和OutputStream1.InputStream◇從流中讀取數(shù)據(jù):intread();讀
6、取一個(gè)字節(jié),返回值為所讀的字節(jié)。intread(byteb[]);讀取多個(gè)字節(jié),放置到字節(jié)數(shù)組b中,通常讀取的字節(jié)數(shù)量為b的長(zhǎng)度,返回值為實(shí)際讀取的字節(jié)的數(shù)量。intread(byteb[],intoff,intlen);讀取len個(gè)字節(jié),放置到以下標(biāo)off開始字節(jié)數(shù)組b中,返回值為實(shí)際讀取的字節(jié)的數(shù)量。9intavailable();返回值為流中尚未讀取的字節(jié)的數(shù)量。longskip(longn);讀指針跳過(guò)n個(gè)字節(jié)不讀,返回值為實(shí)際跳過(guò)的字節(jié)數(shù)量。10◇關(guān)閉流:close();流操作完畢后必須關(guān)閉◇使用輸入流中的標(biāo)記:voidmark(intreadl
7、imit);記錄當(dāng)前讀指針?biāo)谖恢?,readlimit表示讀指針讀出readlimit個(gè)字節(jié)后所標(biāo)記的指針位置才失效。voidreset();把讀指針重新指向用mark方法所記錄的位置booleanmarkSupported();當(dāng)前的流是否支持讀指針的記錄功能112.OutputStream◇輸出數(shù)據(jù):voidwrite(intb);往流中寫一個(gè)字節(jié)bvoidwrite(byteb[]);往流中寫一個(gè)字節(jié)數(shù)組bvoidwrite(byteb[],intoff,intlen);把字節(jié)數(shù)組b中從下標(biāo)off開始,長(zhǎng)度為len的字節(jié)寫入流中12◇flush()刷
8、空輸出流,并輸出所有被緩存的字節(jié),由于某些流支持緩存功能,該方法將