點擊查看:2015計算機(jī)等級考試二級Java入門教程章節(jié)匯總
點擊查看:2015計算機(jī)等級考試二級Java入門教程第八章匯總
8.1 了解流
可以使用Java中的安全性特征來控制一個小應(yīng)用程序(和一個在安全管理器下運行的應(yīng)用程序)可以訪問什么,從而使小應(yīng)用程序可以訪問具有顯式權(quán)限的文件或其它資源。
在Java中使用流作為輸入和輸出操作的基礎(chǔ)的主要原因是為了使輸入輸出程序代碼獨立于使用的設(shè)備。這樣做有兩個優(yōu)點:第一,你不用為了解每一種設(shè)備的細(xì)節(jié)而苦惱,它們是在幕后進(jìn)行管理的。第二,你的程序不需要改變?nèi)魏卧闯绦蚧蚰繕?biāo)代碼中的條件就可以在各種類型的輸入輸出設(shè)備上工作。
流的輸入或流的輸出的方法通常容許的數(shù)據(jù)量非常小,例如在單一的操作中讀或?qū)懸粋字符或字節(jié),如果用這種方式把發(fā)送數(shù)據(jù)傳輸?shù)轿锢碓O(shè)備(例如磁盤驅(qū)動器)上,效率是非常低的,因此通常為流提供一個緩沖區(qū)(buffer ),從而稱為緩沖流(buffered stream )一個緩沖區(qū)是一塊簡單的內(nèi)存區(qū)域,用于與外部設(shè)備之間的成批數(shù)據(jù)傳輸。
緩沖流保證在存儲器和外部設(shè)備之間的實際數(shù)據(jù)傳送是在一個足夠大的塊中進(jìn)行,從而得到理想的輸入/輸出操作效率。
當(dāng)你寫一個緩沖輸出流時,數(shù)據(jù)被送到一個緩沖區(qū)中,而不是送到外設(shè)中,緩沖區(qū)中的數(shù)據(jù)的數(shù)量被自動地跟蹤,當(dāng)緩沖區(qū)滿時,數(shù)據(jù)通常被送到設(shè)備中。然而,有時你希望在緩沖區(qū)未滿時將緩沖區(qū)中的數(shù)據(jù)送到設(shè)備中,并為此提供一些方法,這種操作通常被稱為刷新(flushing )緩沖區(qū)。
緩沖輸入流的工作使用相似的方法,任何在一個緩沖輸入流上的讀操作將從該緩沖區(qū)中讀取數(shù)據(jù),同時,當(dāng)緩沖區(qū)為空時,如果有足夠的數(shù)據(jù)可用,數(shù)據(jù)將自動地從設(shè)備讀入該緩沖區(qū)把其填滿。
相關(guān)推薦:
2015計算機(jī)等級考試二級Java入門教程章節(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |