国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

流(stream)

2019-11-15 00:24:17
字體:
來源:轉載
供稿:網友
流(stream)

流的概念

java程序通過流來完成輸入/輸出。流是生產或消費信息的抽象。流通過Java的輸入/輸出系統與物理設備鏈接。盡管與它們鏈接的物理設備不盡相同,所有流的行為具有同樣的方式。這樣,相同的輸入/輸出類和方法適用于所有類型的外部設備。這意味著一個輸入流能夠抽象多種不同類型的輸入:從磁盤文件,從鍵盤或從網絡套接字。同樣,一個輸出流可以輸出到控制臺,磁盤文件或相連的網絡。流是處理輸入/輸出的一個潔凈的方法,例如它不需要代碼理解鍵盤和網絡的不同。Java中流的實現是在java.io包定義的類層次結構內部的。

輸入/輸出流

輸入/輸出時,數據在通信通道中流動。所謂“數據流(stream)”指的是所有數據通信通道之中,數據的起點和終點。信息的通道就是一個數據流。只要是數據從一個地方“流”到另外一個地方,這種數據流動的通道都可以稱為數據流。輸入/輸出是相對于程序來說的。程序在使用數據時所扮演的角色有兩個:一個是源,一個是目的。若程序是數據流的源,即數據的提供者,這個數據流對程序來說就是一個“輸出數據流”(數據從程序流出)。若程序是數據流的終點,這個數據流對程序而言就是一個“輸入數據流”(數據從程序外流向程序)

流的分類

在java.io包中提供了60多個類(流)。

從功能上分為兩大類:輸入流(InputStream)和輸出流(OutputStream)。可從中讀出一系列字節的對象稱為輸入流。而能向其中寫入一系列字節的對象稱為輸出流。

從流結構上可分為字節流(以字節為處理單位或稱面向字節)和字符流(以字符為處理單位或稱面向字符)。

字節流的輸入流和輸出流基礎是InputStream和OutputStream這兩個抽象類,字節流的輸入輸出操作由這兩個類的子類實現。字符流是Java1.1版后新增加的以字符為單位進行輸入輸出

處理的流,字符流輸入輸出的基礎是抽象類Reader和Writer。

節點流:從特定的地方讀寫的流類,例如:磁盤或一塊內存區域。

過濾流:使用節點流作為輸入或輸出。過濾流是使用一個已經存在的輸入流或輸出流連接創建的。

字節流/字符流

Java2定義了兩種類型的流:字節流和字符流。字節流(bytestream)為處理字節的輸入和輸出提供了方便的方法。例如使用字節流讀取或寫入二進制數據。字符流(characterstream)為字符的輸入和輸出處理提供了方便。它們采用了統一的編碼標準,因而可以國際化。當然,在某些場合,字符流比字節流更有效

Java的原始版本(Java1.0)不包括字符流,因此所有的輸入和輸出都是以字節為單位的。Java1.1中加入了字符流的功能

需要聲明:在最底層,所有的輸入/輸出都是字節形式的。基于字符的流只為處理字符提供方便有效的方法

字節流類(ByteStreams)字節流類用于向字節流讀寫8位二進制的字節。一般地,字節流類主要用于讀寫諸如圖象或聲音等的二進制數據。

字符流類(CharacterStreams)字符流類用于向字符流讀寫16位二進制字符。

讀數據的邏輯為:

openastream

whilemoreinformation

readinformation

closethestream

寫數據的邏輯為:

openastream

whilemoreinformation

writeinformation

closethestream


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高碑店市| 绿春县| 那坡县| 宁陕县| 宿松县| 芦溪县| 洪泽县| 岑巩县| 乌鲁木齐市| 高雄县| 富民县| 射阳县| 东莞市| 东乡族自治县| 甘肃省| 门源| 卢氏县| 石门县| 丹巴县| 博白县| 竹溪县| 陇川县| 白玉县| 平原县| 左权县| 丁青县| 永丰县| 手游| 文昌市| 仪陇县| 石狮市| 庆阳市| 嘉善县| 昭觉县| 师宗县| 宁南县| 临安市| 长子县| 册亨县| 常宁市| 泰州市|