官术网_书友最值得收藏!

1.2 緩沖區(qū)介紹

在使用傳統(tǒng)的I/O流API時(shí),如InputStream和OutputStream,以及Reader和Writer聯(lián)合使用時(shí),常常把字節(jié)流中的數(shù)據(jù)放入byte[]字節(jié)數(shù)組中,或把字符流中的數(shù)據(jù)放入char[]字符數(shù)組中,也可以從byte[]或char[]數(shù)組中獲取數(shù)據(jù)來(lái)實(shí)現(xiàn)功能上的需求,但由于在Java語(yǔ)言中對(duì)array數(shù)組自身進(jìn)行操作的API非常少,常用的操作僅僅是length屬性和下標(biāo)[x]了,在JDK中也沒(méi)有提供更加方便操作數(shù)組中數(shù)據(jù)的API,如果對(duì)數(shù)組中的數(shù)據(jù)進(jìn)行高級(jí)處理,需要程序員自己寫代碼進(jìn)行實(shí)現(xiàn),處理的方式是比較原始的,這個(gè)問(wèn)題可以使用NIO技術(shù)中的緩沖區(qū)Buffer類來(lái)解決,它提供了很多工具方法,大大提高了程序開(kāi)發(fā)的效率。

Buffer類的聲明信息如圖1-6所示。

圖1-6 Buffer類的聲明信息

從Buffer類的Java文檔中可以發(fā)現(xiàn),Buffer類是一個(gè)抽象類,它具有7個(gè)直接子類,分別是ByteBuffer、CharBuffer、DoubleBuffer、FloatBuffer、IntBuffer、LongBuffer、ShortBuffer,也就是緩沖區(qū)中存儲(chǔ)的數(shù)據(jù)類型并不像普通I/O流只能存儲(chǔ)byte或char數(shù)據(jù)類型,Buffer類能存儲(chǔ)的數(shù)據(jù)類型是多樣的。

注意

Buffer類沒(méi)有BooleanBuffer這個(gè)子類。

類java.lang.StringBuffer是在lang包下的,而在nio包下并沒(méi)有提供java.nio.StringBuffer緩沖區(qū),在NIO中存儲(chǔ)字符的緩沖區(qū)可以使用CharBuffer類。

NIO中的Buffer是一個(gè)用于存儲(chǔ)基本數(shù)據(jù)類型值的容器,它以類似于數(shù)組有序的方式來(lái)存儲(chǔ)和組織數(shù)據(jù)。每個(gè)基本數(shù)據(jù)類型(除去boolean)都有一個(gè)子類與之對(duì)應(yīng)。

主站蜘蛛池模板: 安多县| 庐江县| 马公市| 慈利县| 聂拉木县| 平舆县| 鲜城| 建阳市| 商水县| 天峨县| 砀山县| 平湖市| 万载县| 梁河县| 榆林市| 洛扎县| 化州市| 平阴县| 蓬莱市| 巴林左旗| 奉贤区| 栾川县| 寿光市| 北川| 望江县| 孝义市| 西和县| 唐河县| 永济市| 雅江县| 莱阳市| 酒泉市| 尉氏县| 高台县| 资兴市| 景东| 闽侯县| 襄樊市| 奉节县| 炎陵县| 和田县|