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

正文內(nèi)容

java程序設(shè)計(jì)之網(wǎng)絡(luò)編程輸入輸出處理、線程ppt-展示頁

2024-10-25 23:40本頁面
  

【正文】 F i l e R e a d e rL i n e N u m b e r R e a d e rP u s h b a c k R e a d e r字符輸出流 W r i t e rB u f f e r e d W r i t e rO u t p u t S t r e a m W r i t e rC h a r A r r a y W r i t e rF i l t e r W r i t e rP i p e d W r i t e rP r i n t W r i t e rS t r i n g W r i t e rF i l e W r i t e r主要內(nèi)容 I/O流的概念和劃分 文件的操作 字節(jié)流處理 字符流處理 串行化 文件的操作 ? File類:對文件的引用和表示 ? File類提供了一些方法來操縱文件和獲取文件的信息。 in = new BufferedReader(ir)。 BufferedReader in。 public class CharInput { public static void main (String args[]) throws IOException { String s。 ? 當(dāng)你構(gòu)造一個(gè) InputStreamReader或OutputStreamWriter時(shí),轉(zhuǎn)換規(guī)則定義了 16位Unicode和其它平臺(tái)的特定表示之間的轉(zhuǎn)換。 ? 最重要的是 InputStreamReader和OutputStreamWriter。這些 16位版本的流稱為讀者Reader和作者 Writer。 } } catch(IOException e) { ()。 int b。 } ()。 int b。 class Display{ public static void main(String args[])throws FileNotFoundException,IOException{ FileInputStream fis=new FileInputStream(“text”)。 例 91: 下面的程序?qū)崿F(xiàn)文件內(nèi)容的顯示。一個(gè)線程的PipedInputStream對象從另一個(gè)線程的PipedOutputStream對象讀取輸入。它們已經(jīng)被后面所討論的讀者和作者所取代。例如: ? DataInputStream方法 byte readByte() long readLong() double readDouble() DataOutputStream方法 void writeByte(byte) void writeLong(long) void writeDouble(double) ? 注意 DataInputStream和 DataOutputStream的方法是成對的。類DataInputStream、 DataOutputStream和 RandomAccessFile分別實(shí)現(xiàn)了這兩個(gè)接口。 ()。 BufferInputStream bi=new BufferInputStream(infile)。 ()。 FileOutputStream outfile =new FileOutputStream()。如果你要構(gòu)造一個(gè)FileOutputStream而輸出文件已經(jīng)存在,則它將被覆蓋。這些類的構(gòu)造函數(shù)允許你指定它們所連接的文件。 flush( )方法允許你強(qiáng)制執(zhí)行寫操作。這個(gè)關(guān)閉操作會(huì)關(guān)閉其余的流。 ? 4. void close() 當(dāng)你完成寫操作后,就關(guān)閉輸出流。 這些方法寫輸出流。 ? 2. void write(byte b[]) 把字節(jié)數(shù)組 b中的 。該方法的屬性為 abstract,必須為子類所實(shí)現(xiàn)。 從以上方法中可以看到, InputStream中主要提供了對數(shù)據(jù)讀取的基本支持,其中的方法 通常都需要在子類中被重寫,以提高效率或是適合于特定流的需要。mark(int)方法用來指明應(yīng)當(dāng)標(biāo)記流的當(dāng)前點(diǎn)和分配一個(gè)足夠大的緩沖區(qū),它最少可以容納參數(shù)所指定數(shù)量的字符。 如果流支持 “ 回放 ” 操作,則這些方法可以用來完成這個(gè)操作。從該位置開始讀取 readlimit所指定的數(shù)據(jù)后,標(biāo)記失 效。 ? 7. boolean markSupported() 確定輸入流是否支持方法 mark()和 reset()。在這個(gè)調(diào)用之后的實(shí)際讀操作可能返回更多的字節(jié)數(shù)。這個(gè)關(guān)閉操作會(huì)關(guān)閉其余的 流。 ? 4. void close() 你完成流操作之后,就關(guān)閉這個(gè)流。其它兩種方法將數(shù)據(jù)讀入到字節(jié)數(shù)組中,并返回所讀的字節(jié)數(shù)。 這三個(gè)方法提供對輸入管道數(shù)據(jù)的存取。 ? 3. int read(byte[], int off,int len) 從輸入流中讀取長度為 len的數(shù)據(jù),寫入字節(jié)數(shù)組 b中從索引 off開始的位置,并返回讀取的字節(jié)數(shù)。 Java流的劃分 ? 字節(jié)流類 ? 處理字節(jié)的輸入和輸出提供了方便的方法 ? 字符流類 ? 為字符的輸入和輸出處理提供了方便 ? 讀寫數(shù)據(jù)的單位不同 ? 最主要的是 Read() 和 Write() 方法 ? 每個(gè)流的特點(diǎn) InputStream ? 1. int read() 從輸入流中讀取下一個(gè)字節(jié),返回范圍在 0到 255之間的一個(gè)整數(shù),該方法的屬性為 abstract,必須為子類所實(shí)現(xiàn)。 ? 需要聲明:在最底層,所有的輸入 /輸出都是字節(jié)形式的。它們采用了統(tǒng)一的編碼標(biāo)準(zhǔn),因而可以國際化。例如使用字節(jié)流讀取或書寫二進(jìn)制數(shù)據(jù)。 ? Java 2 定義了兩種類型的流:字節(jié)類和字符類。同樣,一個(gè)輸出流可以輸出到控制臺(tái),磁盤文件或相連的網(wǎng)絡(luò)。這樣,相同的輸入 /輸出類和方法適用于所有類型的外部設(shè)備。流通過 Java的輸入 /輸出系統(tǒng)與物理設(shè)備連接。流通過 Java的輸入 /輸出系統(tǒng)與 物理設(shè)備 鏈接?!?Java程序設(shè)計(jì)之網(wǎng)絡(luò)編程 》 計(jì)算機(jī)學(xué)院 教學(xué)課件 第 9章 輸入輸出處理 主要內(nèi)容 I/O流的概念和劃分 文件的操作 字節(jié)流處理 字符流處理 串行化 I/O流的概念和劃分 ? 數(shù)據(jù)流( Stream)是一組有順序的、有起點(diǎn)和終點(diǎn)的字節(jié)集合,是對輸入和輸出的總稱和抽象。 ? Java程序通過流來完成輸入 /輸出。 數(shù)據(jù)源 Data Source 程序 program 數(shù)據(jù)接收器 Data Sink Stream: 流 ? Java程序通過流來完成輸入 /輸出。盡管與它們鏈接的物理設(shè)備不盡相同,所有流的行為具有同樣的方式。這意味著一個(gè)輸入流能夠抽象多種不同類型的輸入:從磁盤文件,從鍵盤或從網(wǎng)絡(luò)套接字。流是處理輸入 /輸出的一個(gè)簡便的方法。字節(jié)流( byte stream)為處理字節(jié)的輸入和輸出提供了方便的方法。字符流( character stream)為字符的輸入和輸出處理提供了方便。在某些場合,字符流比字節(jié)流更有效?;谧址牧髦粸樘幚碜址峁┓奖阌行У姆椒?。 ? 2. int read(byte []) 從輸入流中讀取長度為 b. 1ength的數(shù)據(jù),寫入字節(jié)數(shù)組 b,并返回讀取的字節(jié)數(shù)。 對于以上方法,如果到達(dá)流的末尾位置,則返回 1表明流的結(jié)束。簡單讀方法返回一個(gè) int值,它包含從流里讀出的一個(gè)字節(jié)或者 1,其中后者表明文件結(jié)束。 第三個(gè)方法中的兩個(gè) int參數(shù)指定了所要填入的數(shù)組的子范圍。如果你有一個(gè)流所組成的棧,使用過濾器流,就關(guān)閉棧頂部的流。 ? 5. int available() 這個(gè)方法報(bào)告立刻可以從流中讀取的字節(jié)數(shù)。 ? 6. skip(long) 這個(gè)方法丟棄了流中指定數(shù)目的字符。 ? 8. void mark(int) 在輸入流的當(dāng)前讀取位置作標(biāo)記。 ? 9. void reset() 重置輸入流的讀取位置為方法 mark()所標(biāo)記的位置。如果 mark()和 reset()方法可以在特定的流上操作,則 markSupported()方法將返回 true。在隨后的 read()操作完成之后,調(diào)用 reset()方法來返回你標(biāo)記的輸入點(diǎn)。 OutputStream ? 1. void write(int) 將指定的字節(jié) b寫入輸出流。 注意:參數(shù)中的 b為 int類型,如果 b的值大于 255,則只輸出它的低位字節(jié)所表示的值。 ? 3. void write(byte b[], int off, int len) 把字節(jié)數(shù)組 b中從索引 off開始的 len個(gè)字節(jié)寫入輸出流。和輸入一樣,總是嘗試以實(shí)際最大的塊進(jìn)行寫操作。如果你有一個(gè)流所組成的棧,就關(guān)閉棧頂部的流。 ? 5. void flush() 有時(shí)一個(gè)輸出流在積累了若干次之后才進(jìn)行真正的寫操作。 ? FileInputStream和 FileOutputStream ? 這些類是結(jié)點(diǎn)流,而且正如這個(gè)名字所暗示的那樣,它們使用磁盤文件。要構(gòu)造一個(gè) FileInputStream,所關(guān)聯(lián)的文件必須存在而且是可讀的。 FileInputStream infile =new FileInputStream()。 ()。 下面舉例: ? BufferInputStream和 BufferOutputStream ? 這些是過濾器流,它們可以提高 I/O操作的效率。 BufferOutputStream bo=new BufferOutputStream(outfile)。 ? DataInputStream和 DataOutputStream 一個(gè)類實(shí)現(xiàn)接口 Datalnput和 DataOutput中定義的方法后,就可以用與機(jī)器無關(guān)的格式讀 /寫 Java的基本類型數(shù)據(jù)。這些過濾器通過流來讀寫 Java基本類。 ? 這些流都有讀寫字符串的方法,但不應(yīng)當(dāng)使用這些方法。 ? PipedInputStream和 PipedOutputStream ? 管道流用來在線程間進(jìn)行通信。要使管道流有用,必須有一個(gè)輸入方和一個(gè)輸出方。 import .*。 BufferedInputStream bfis=new BufferedInputStream(fis)。 while(b=())!=1{ (b)。 } } // class BufferedInputDemo { public static void main(String args[]) { BufferedInputStream bis = new BufferedInputStream( new FileInputStream(“”))。 try { while((b=())!=1) { ((char)b)。 } }} Unicode ? Java技術(shù)使用 Unicode來表示字符串和字符,而且它提供了 16位版本的流,以便用類似的方法來處理字符。和流一樣,它們都在。這些類用來作為字節(jié)流與讀者和作者之間的接口。 Reader的例子 import .*。 InputStreamReader ir。 ir = new InputStreamReader()。 while ((s = ()) != null) { (Read: + s)。對于目錄, Java把它當(dāng)作一種特殊類型的文件,即文件名單列表。通過 File類的方法,可以得到文件或者目錄的描述信息,包括名稱、所在路徑、讀寫性、長度等,還可以創(chuàng)建目錄、創(chuàng)建文件,改變文件名、刪除文件、列出目錄中的文件等。 File f2 = new File(D:/Java,)。 File f4 = new File( File類的方法 ? boolean canRead()測試文件是否可讀 ? boolean delete()刪除文件 ? File getAbsoluteFile()返回絕對文件名 ? File getAbsoluteFile()返回絕對文件名 ? boolean isDirectory()是否是目錄 ? long lastModified()上次修改時(shí)間,從 1970年 1月 1號(hào)開始的標(biāo)準(zhǔn)時(shí)間 (UTC)的毫秒數(shù) ? 具體見程序例子 :File的使用 目錄的操作 ? 目錄是一個(gè)包含其他文件和路徑列表的 File 類。 ? String[ ] list( ) ? 文件列表在一個(gè) String 對象數(shù)組中返回。 ? 參考例子 過濾文件 ?
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1