Java IO: 字符流的Piped和CharArray
轉載自? ?Java IO: 字符流的Piped和CharArray
作者:?Jakob?Jenkov?譯者:?李璟(jlee381344197@gmail.com)
本章節將簡要介紹管道與字符數組相關的reader和writer,主要涉及PipedReader、PipedWriter、CharArrayReader、CharArrayWriter。
PipedReader
原文鏈接
PipedReader能夠從管道中讀取字符流。與PipedInputStream類似,不同的是PipedReader讀取的是字符而非字節。換句話說,PipedReader用于讀取管道中的文本。代碼如下:
注意:為了清晰,代碼忽略了一些必要的異常處理。想了解更多異常處理的信息,請參考Java?IO異常處理。
read()方法返回一個包含了讀取到的字符內容的int類型變量(譯者注:0~65535)。如果方法返回-1,表明PipedReader中已經沒有剩余可讀取字符,此時可以關閉PipedReader。-1是一個int類型,不是byte或者char類型,這是不一樣的。
正如你所看到的例子那樣,一個PipedReader需要與一個PipedWriter相關聯,當這兩種流聯系起來時,就形成了一條管道。要想更多地了解Java?IO中的管道,請參考Java?IO管道。
PipedWriter
原文鏈接
PipedWriter能夠往管道中寫入字符流。與PipedOutputStream類似,不同的是PipedWriter處理的是字符而非字節,PipedWriter用于寫入文本數據。代碼如下:
PipedWriter的write()方法取一個包含了待寫入字節的int類型變量作為參數進行寫入,同時也有采用字符串、字符數組作為參數的write()方法。
CharArrayReader
原文鏈接
CharArrayReader能夠讓你從字符數組中讀取字符流。代碼如下:
如果數據的存儲媒介是字符數組,CharArrayReader可以很方便的讀取到你想要的數據。CharArrayReader會包含一個字符數組,然后將字符數組轉換成字符流。(譯者注:CharArrayReader有2個構造函數,一個是CharArrayReader(char[]?buf),將整個字符數組創建成一個字符流。另外一個是CharArrayReader(char[]?buf,?int?offset,?int?length),把buf從offset開始,length個字符創建成一個字符流。更多細節請參考Java官方文檔)
CharArrayWriter
原文鏈接
CharArrayWriter能夠把字符寫入到字符輸出流writer中,并且能夠將寫入的字符轉換成字符數組。代碼如下:
當你需要以字符數組的形式訪問寫入到writer中的字符流數據時,CharArrayWriter是個不錯的選擇。
總結
以上是生活随笔為你收集整理的Java IO: 字符流的Piped和CharArray的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前狼假寐盖以诱敌翻译 前狼假寐盖以诱敌是
- 下一篇: 你做初一我做十五是什么意思 你做初一我做