327
阿裏雲
技術社區[雲棲]
Java IO: 字節和字符數組
內容列表
- 從InputStream或者Reader中讀入數組
- 從OutputStream或者Writer中寫數組
在java中常用字節和字符數組在應用中臨時存儲數據。而這些數組又是通常的數據讀取來源或者寫入目的地。如果你需要在程序運行時需要大量讀取文件裏的內容,那麼你也可以把一個文件加載到數組中。當然你可以通過直接指定索引來讀取這些數組。但如果設計成為從InputStream或者Reader,而不是從數組中讀取某些數據的話,你會用什麼組件呢?
從 InputStream 或 Reader中讀取數組
用ByteArrayInputStream或者CharArrayReader封裝字節或者字符數組從數組中讀取數據。通過這種方式字節和字符就可以以數組的形式讀出了。
樣例如下:
01 |
byte [] bytes = new byte [ 1024 ];
|
09 |
InputStream input = new ByteArrayInputStream(bytes);
|
15 |
int data = input.read();
|
以同樣的方式也可以用於讀取字符數組,隻要把字符數組封裝在CharArrayReader上就行了。
通過 OutputStream 或者 Writer寫數組
同樣,也可以把數據寫到ByteArrayOutputStream或者CharArrayWriter中。你隻需要創建ByteArrayOutputStream或者CharArrayWriter,把數據寫入,就像寫其它的流一樣。當所有的數據都寫進去了以後,隻要調用toByteArray()或者toCharArray,所有寫入的數據就會以數組的形式返回。
樣例如下:
1 |
OutputStream output = new ByteArrayOutputStream();
|
5 |
output.write( "This text is converted to bytes" .toBytes( "UTF-8" ));
|
9 |
byte [] bytes = output.toByteArray();
|
寫字符數組也和此例子類似。隻要把字符數組封裝在CharArrayWriter上就可以了。
最後更新:2017-05-23 13:31:44