freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

面向?qū)ο笈cjava程序設(shè)計(jì)流和文件、applet、網(wǎng)絡(luò)編程ppt-wenkub

2022-10-31 05:34:09 本頁面
 

【正文】 數(shù)據(jù)的過濾流定義接口。另外還提供了同步機(jī)制,使得某一時(shí)刻只有一個(gè)線程可以訪問一個(gè)輸入 /輸出流 ,以防止多個(gè)線程同時(shí)對(duì)一個(gè) I/O流進(jìn)行操作所帶來的意想不到的結(jié)果。 SequenceInputStream fs = new SequenceInputStream(f1, f2)。如: FileInputStream f1,f2。 PipedInputStream pis=new PipedInputStream(pos)。管道流必須是輸入輸出并用,即在使用管道前,兩者必須進(jìn)行連接 ?管道輸入 /輸出流可以用兩種方式進(jìn)行連接: 輸出流 輸入流 第 14 頁 2. 基本的 I/O流 1) 在構(gòu)造方法中進(jìn)行連接 PipedInputStream pis=new PipedInputStream()。 ?【 例 】 巧妙實(shí)現(xiàn)從 ASCII碼字符集到 Unicode字符集之間的轉(zhuǎn)換。 ( 1) 屬于 InputStream類的方法有 : ?int read( ): 從流中讀入數(shù)據(jù) ?long skip( ): 跳過流中若干字節(jié)數(shù) ?int available( ): 返回流中可用字節(jié)數(shù) ?void mark( ): 在流中標(biāo)記一個(gè)位置 ?void reset( ): 返回放標(biāo)記的位置 ?boolean markSupport( ): 是否支持標(biāo)記和復(fù)位操作 ?void close( ): 關(guān)閉流 第 10 頁 2. 基本的 I/O流 ?在 InputStream類中,提供了三種從流中讀數(shù)據(jù)的 read()方法: ?abstract int read():從輸入流中讀一個(gè)字節(jié),形成一個(gè) 0~255之間的整數(shù)返回(是一個(gè)抽象方法)。 ?,從 PrintStream中繼承而來,把輸出送到缺省的顯示設(shè)備 (通常是顯示器 )。 第 6 頁 InputStream和 OutputStream 第 7 頁 Reader和 Writer 第 8 頁 從類的層次看 I/O流 1. 標(biāo)準(zhǔn)的 I/O流 ?在 Java語言中,鍵盤用 stdin表示,監(jiān)視器用 stdout表示。從而使 Java程序設(shè)計(jì)簡單明了。 第 4 頁 I/O流概述 ?從程序到數(shù)據(jù)接收器的數(shù)據(jù)流是輸出流,用來向接收器中寫入數(shù)據(jù)。 ?流一般分為輸入流( Input Stream)和輸出流( Output Stream)兩類。2021/11/13 01:37 1 第 7章 流和文件 第 2 頁 ?掌握流的本質(zhì)及其基本概念 ?深入了解 ?深入了解 ?熟練編寫處理字節(jié)級(jí)、字符級(jí)及對(duì)象級(jí)流的 Java程序 ?熟練掌握隨機(jī)訪問流的使用 ?熟練掌握與文件系統(tǒng)有關(guān)的類的使用方法 本章學(xué)習(xí)要點(diǎn) 第 3 頁 I/O流概述 ?大部分程序都需要數(shù)據(jù)輸入 /輸出處理,比如從鍵盤讀取數(shù)據(jù)、向屏幕中輸出數(shù)據(jù)、從文件中讀或者向文件中寫數(shù)據(jù)、在網(wǎng)絡(luò)連接時(shí)進(jìn)行讀寫操作等。流和物理文件是有區(qū)別的,流是一個(gè)動(dòng)態(tài)的概念。 ?同數(shù)據(jù)源相連的是輸入流,用來從數(shù)據(jù)源中讀取數(shù)據(jù)。 ?標(biāo)準(zhǔn)輸入 /輸出處理則是由包 ,但這些類又都是從包 。它們均被封裝在 System類的類變量 in和 out中,對(duì)應(yīng)于系統(tǒng)調(diào)用 。 ?,也是從 PrintStream中繼承而來,把錯(cuò)誤信息送到缺省的顯示設(shè)備 (通常是顯示器 )。 ?int read(byte b[]):讀多個(gè)字節(jié)到數(shù)組中,填滿整個(gè)數(shù)組。 第 11 頁 2. 基本的 I/O流 ?在 java中用 unicode 表示字符和字符串 ?DatainputStream的 readLine方法 , 以字節(jié)形式讀入 , 以u(píng)nicode形式輸出 DataInputStream不適合輸入 unicode的形式的數(shù)據(jù) ,所以 處理字符應(yīng)用 InputStreamReader 類和 BufferedReader 類 byte Unicode 16bit 8 bit + 00000000 第 12 頁 2. 基本的 I/O流 ( 2)屬于 OutputStream類的方法有: ?abstract void write(int b):將一個(gè)整數(shù)輸出到流中(只輸出低位字節(jié),為抽象方法) ?void write(byte b[ ]):將字節(jié)數(shù)組中的數(shù)據(jù)輸出到流中 ?void write(byte b[ ], int off, int len):將數(shù)組 b中從 off指定的位置開始,長度為 len的數(shù)據(jù)輸出到流中 ?void flush( ):清空輸出流,并將緩沖區(qū)中的數(shù)據(jù)強(qiáng)制送出 ?void close( ):關(guān)閉流 第 13 頁 2. 基本的 I/O流 ( 3)管道流 ?管道用來把一個(gè)程序、線程和代碼塊的輸出連接到另一個(gè)程序、線程和代碼塊的輸入。 PipedOutputStream pos=new PipedOutputStream(pis)。 可簡化為: PipedInputStream(PipedOutputStream pos)。 String s。 DataInputStream ds = new DataInputStream(fs)。 ?類 FilterInputStream和 FilterOutputStream分別重寫了父類InputStream和 OutputStream的所有方法。它的子類則進(jìn)一步實(shí)現(xiàn)它的接口和方法。行號(hào)在 mark和 reset操作中記錄。PushbackInputStream類還可以利用其 unread()方法,可以將一個(gè)字節(jié)送回輸入流中。而且,這兩個(gè)流類支持mark()和 reset()方法。 ?FilenameFilter接口:主要用于實(shí)現(xiàn)文件名查找模式的匹配。 ?在初始化時(shí),除了要指定所連接的 I/O流之外,還可以指定緩沖區(qū)的大小。 BufferedInputStream bin = new BufferedInputStream(in,256) BufferedOutputStream bout = new BufferedOutputStream(out,256)。 //len中得到是長度 , bArray中得到的是數(shù)據(jù) ?對(duì)于 BufferedOutputStream,只有緩沖區(qū)滿時(shí),才會(huì)將數(shù)據(jù)真正送到輸出流,但可以使用 flush()方法強(qiáng)行地將尚未填滿的緩沖區(qū)中的數(shù)據(jù)送出。 ?對(duì)象流 為了使對(duì)象的狀態(tài)能夠方便地永久保存下來, 的 (通過實(shí)現(xiàn) ObjectInput和 ObjectOutput接口)提供了以字節(jié)流為基礎(chǔ)的用于對(duì)象的永久化保存狀態(tài)的機(jī)制。 怎樣把一個(gè)流與一個(gè)文件聯(lián)系起來,然后將數(shù)據(jù)寫到文件中? DataOutputStream有合適的方法來完成上述功能 第 25 頁 保存字節(jié)級(jí)數(shù)據(jù) 數(shù)據(jù)流 ?數(shù)據(jù)流類 DataInputStream和 DataOutputStream的處理對(duì)象除了是字節(jié)或字節(jié)數(shù)組外,還可以實(shí)現(xiàn)對(duì)文件的不同數(shù)據(jù)類型的讀寫。 此外,還可以用 readLine()方法讀取一行信息。 DataInputStream dis = new DataInputStream(fis)。 ?在進(jìn)行文件的讀 /寫操作時(shí),會(huì)產(chǎn)生非運(yùn)行時(shí)異常IOException,必須捕獲或聲明拋棄(其它的輸入 /輸出流處理時(shí)也同樣需要進(jìn)行輸入 /輸出異常處理)。 這里使用一個(gè)字符串表示文件名,并將它作為FileOutputStream類的構(gòu)造方法的參數(shù)來初始化一個(gè)對(duì)象。 ?DataInputStream in = new DataInputStream(fs_in)。 這樣可以減少實(shí)際寫請(qǐng)求的次數(shù) , 以此提高將數(shù)據(jù)寫入文件中的效率 。 public class BufferedOutputStream extends FilterOutputStream{ // 構(gòu)造方法 public BufferedOutputStream(OutputStream out) // 成員方法 public void flush() throws IOException } 第 32 頁 運(yùn)用緩沖流來改善效率 BufferedInputStream類 ?BufferedInputStream類增強(qiáng)了批量數(shù)據(jù)輸入到另一個(gè)輸入流的能力。 再做同樣的試驗(yàn)來測(cè)試讀 100 000個(gè)雙精度型數(shù)的操作 。 myFile = new File(MyDocs, )。這個(gè)程序可以在命令行中接收源文件名和目標(biāo)文件名。 ?copyFile()方法中使用 readByte()和 writeByte()來將輸入文件中的每個(gè)字節(jié)復(fù)制到輸出文件,所以,要用緩沖流來改善程序的效率,如果不使用緩沖流速度就會(huì)很慢。它的 isDirectory()方法能確定所給的路徑是文件還是目錄; listFiles()方法將返回一個(gè)目錄中所有的文件和目錄; length()方法將返回文件大小。 第 38 頁 保存和讀取字符數(shù)據(jù) ?從 , Unicode字符流處理的類,它們是以 Reader和 Writer為基礎(chǔ)派生的一系列類。 Writer類是處理所有字符流輸出類的父類。 BufferedReader在 Java API中的定義如下: public class BufferedReader extends Reader{ public BufferedReader(Reader in) public String readLine() throws IOException } ?只要文字中含有換行符( 39。)或是回車換行,則認(rèn)為是一行文本的結(jié)束。通過菜單可以打開文件和退出程序,當(dāng)選擇 “ 打開 ” 命令時(shí)應(yīng)當(dāng)彈出一個(gè)標(biāo)準(zhǔn)的 “ 打開文件 ” 對(duì)話框,以便用戶選擇要打開的文本文件,選擇 “ 退出 ” 命令將關(guān)閉程序。 怎樣創(chuàng)建一個(gè)標(biāo)準(zhǔn)的 “ 打開文件 ” 對(duì)話框? 第 42 頁 讀取字符數(shù)據(jù) FileDialog類 ?FileDialog類中有標(biāo)準(zhǔn)的 “ 文件 |打開 ” 或 “ 文件 |保存 ” 對(duì)話框,可以通過它們選擇文件來讀或?qū)憽?例 第 44 頁 保存字符數(shù)據(jù) BufferedWriter類 ?BufferedWriter類用來創(chuàng)建一個(gè)字符緩沖輸出流,它主要為其他類(如 PrintWriter類)提供一個(gè)字符輸入流, Java API給出BufferWriter類的定義如下: public class BufferedWriter extends Writer { public BufferedWriter(Writer out) public void write(int c) throws IOException public void newLine() throws IOException public void flush() throws IOException public void close() throws IOException } 第 45 頁 保存字符數(shù)據(jù) PrintWriter類 ?PrintWriter類為格式化字符流提供了一些實(shí)用方法,雖然PrintWriter類能單獨(dú)使用,但是它最好還是能與 BufferedWriter連接使用,可以提高流的效率。然后用標(biāo)準(zhǔn)的文本編輯器打開該文件,看看通過文本編輯器是否能正確顯示該文件 . 通過記事本打開該文件 第 48 頁 保存和讀取對(duì)象數(shù)據(jù) ?什么是對(duì)象的持續(xù)性( persistence)? 能夠記錄自己的狀態(tài)以便將來重現(xiàn)的能力 ,叫對(duì)象的持續(xù)性 ?什么是對(duì)象的串行化( Serialization)? 對(duì)象通過寫出描述自己狀態(tài)的數(shù)值來記錄自己的過程,叫 對(duì)象串行化 串行化的主要任務(wù)是寫出對(duì)象實(shí)例變量的數(shù)值,如果變量是另一個(gè)對(duì)象的引用,則引用的對(duì)象也要串行化。 第 50 頁 保存和讀取對(duì)象數(shù)據(jù) 對(duì)象流是怎樣工作的 ? 1. 通過對(duì)象流進(jìn)行傳輸?shù)膶?duì)象必須進(jìn)行串行化。 對(duì)象流 : ObjectOutputStream, ObjectInputStream 實(shí)現(xiàn)的接口 : ObjectOutput, ObjectStreamConstants, ObjectInput, ObjectStreamConstants 第 51 頁 保存對(duì)象數(shù)據(jù) ObjectOutputStream類 ?ObjectOutputStream類用于將原始數(shù)據(jù)類型以及整個(gè)對(duì)象寫入到一個(gè)流中。要保證 Address類序列化,因而必須使這個(gè)類實(shí)現(xiàn) Serializable接口。 第 54 頁 讀取對(duì)象數(shù)據(jù) ?ObjectInputStream類 ?該類用于讀出一個(gè) Objec
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1