生活随笔
收集整理的這篇文章主要介紹了
Java IO学习--(五)字节和字符数组
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
內(nèi)容列表
- 從InputStream或者Reader中讀入數(shù)組
- 從OutputStream或者Writer中寫(xiě)數(shù)組
在java中常用字節(jié)和字符數(shù)組在應(yīng)用中臨時(shí)存儲(chǔ)數(shù)據(jù)。而這些數(shù)組又是通常的數(shù)據(jù)讀取來(lái)源或者寫(xiě)入目的地。如果你需要在程序運(yùn)行時(shí)需要大量讀取文件里的內(nèi)容,那么你也可以把一個(gè)文件加載到數(shù)組中。當(dāng)然你可以通過(guò)直接指定索引來(lái)讀取這些數(shù)組。但如果設(shè)計(jì)成為從InputStream或者Reader,而不是從數(shù)組中讀取某些數(shù)據(jù)的話,你會(huì)用什么組件呢?
?
從?InputStream?或?Reader中讀取數(shù)組
用ByteArrayInputStream或者CharArrayReader封裝字節(jié)或者字符數(shù)組從數(shù)組中讀取數(shù)據(jù)。通過(guò)這種方式字節(jié)和字符就可以以數(shù)組的形式讀出了。
樣例如下:
| 01 | byte[] bytes =?new?byte[1024]; |
| 05 | //把數(shù)據(jù)寫(xiě)入字節(jié)數(shù)組... |
| 09 | InputStream input =?new?ByteArrayInputStream(bytes); |
| 15 | int?data = input.read(); |
以同樣的方式也可以用于讀取字符數(shù)組,只要把字符數(shù)組封裝在CharArrayReader上就行了。
通過(guò)?OutputStream?或者?Writer寫(xiě)數(shù)組
同樣,也可以把數(shù)據(jù)寫(xiě)到ByteArrayOutputStream或者CharArrayWriter中。你只需要?jiǎng)?chuàng)建ByteArrayOutputStream或者CharArrayWriter,把數(shù)據(jù)寫(xiě)入,就像寫(xiě)其它的流一樣。當(dāng)所有的數(shù)據(jù)都寫(xiě)進(jìn)去了以后,只要調(diào)用toByteArray()或者toCharArray,所有寫(xiě)入的數(shù)據(jù)就會(huì)以數(shù)組的形式返回。
樣例如下:
| 1 | OutputStream output =?new?ByteArrayOutputStream(); |
| 5 | output.write("This text is converted to bytes".toBytes("UTF-8")); |
| 9 | byte[] bytes = output.toByteArray(); |
寫(xiě)字符數(shù)組也和此例子類(lèi)似。只要把字符數(shù)組封裝在CharArrayWriter上就可以了。
轉(zhuǎn)載于:https://www.cnblogs.com/eer123/p/8566894.html
總結(jié)
以上是生活随笔為你收集整理的Java IO学习--(五)字节和字符数组的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。