OutputStreamWriter將Writer接口後面的OutputStream封裝起來。如果我想要反過來,我想要一個Writer的OutputStream接口?例如,我想序列化一個對象到一個StringWriter。什麼是OutputStreamWriter的反轉
回答
OutputStreamWriter
的語義是取文本並根據字符編碼轉換爲字節。這是一種非常常見的模式(將低級字節解釋爲高級文本),因此將此類作爲標準Java API的一部分來找到並不奇怪。
所以你想要一個WriterOutputStream
。但是你忘了告訴我們你期望這樣一堂課的語義。我可以想像幾個用例用於OutputStream
包裹一個Writer
:
- 轉換字節到Base64編碼的字符串
- 轉換字節爲十六進制的表值
- 假設字節流的加密文本消息:解密字節並寫入原始未加密的文本。
- 假設字節流是某種測量設備的值:寫一個包含測量值的人類可讀表。
但沒有明顯的默認使用情況,這對廣泛的用法是有意義的。所以標準庫中沒有WriterOutputStream
類。但是沒有人會阻止你寫出你自己的一類。
好吧,vanje你有一個點,但另一方面OutputStreamWriter聲明一個構造函數,它接受一個OutputStream,其中應用了「默認字符編碼」。如果API支持按照某個默認值將面向字節的流轉換爲面向字符的流,那麼我是否應該預料到我可以做相反的事情,也有這樣的默認值?由於API沒有WriterOutputStream,最簡單的解決方法是什麼?這就是我(仍然)在尋找的東西。 – Mishax
@Mishax:最簡單的解決方法是將您的字節寫入ByteArrayOutputStream,然後以適當的字符集名稱作爲參數調用toString()。 –
@JBNizet我同意你的目標不過是一個字符串。但是如果目標是Writer,意味着從輸出流開始,(1)然後將其發送到ByteArrayOutputStream,(2)然後toString(),(3)創建一個Writer(4)寫我的String。呼!如果這是最簡單的解決方法,那麼可以,但是當然像Guava類的東西要簡單得多。 – Mishax
番石榴有這樣一個類:BaseEncoding.encodingStream(Writer)需要一個Writer作爲參數,並將其包裝在一個OutputStream中。所有寫入流的字節都是baseXX編碼的(其中XX可以是16,32,64,...)並寫入包裝的Writer中作爲字符。
- 1. 什麼是類加載器反轉
- 2. 什麼是用來反轉RC4密碼?
- 3. stringByAddingPercentEscapesUsingEncoding的反義詞是什麼?什麼函數取出%轉義?
- 4. OnSetActive()的「相反」是什麼?
- 5. CoCreateInstance - 什麼是相反的?
- 6. OutputStreamWriter write()
- 7. Java ArrayList的(ArrayList).toString的反轉是什麼?
- 8. 什麼是wpf中的window.activate()函數的反轉
- 9. 什麼是反向換行
- 10. 什麼是BatchBlock相反塊
- 11. 什麼是反向路由?
- 12. 什麼是反向傳播?
- 13. 什麼是反應空:*?
- 14. 反轉元組和反轉列表有什麼區別?
- 15. 反轉方法或反轉內置函數有什麼「更好」?
- 16. 什麼是在PHP中反轉字母的最佳方式
- 17. 控制機制反轉中的Unity容器是什麼?
- 18. 什麼是控制反轉的正式定義?
- 19. 什麼是在Javascript中反轉數組的最有效方法?
- 20. PHP中(對象)數組(key => value)的反轉是什麼?
- 21. 是否存在沒有緩衝的OutputStreamWriter?
- 22. 使用OutputStreamWriter的JSONBuilder
- 23. 的Java OutputStreamWriter和CP437
- 24. 什麼是轉換爲任意基的C#函數的高效反轉?
- 25. OutputStreamWriter IOException發生
- 26. iOS中「反彈」的目的是什麼?
- 27. Ruby的包括什麼是相反的?
- 28. 爲什麼這些位反轉了?
- 29. Django - 爲什麼不反轉工作?
- 30. 什麼是@deprecated in java的反向
'OutputStreamWriter' _writes_到'OutputStream'。一位作家寫道。你不能寫信給它。然而,你可以寫入一個'BinaryOutputStream',獲取字節並將它們轉換爲'String',如果這就是你的意思 –
你可以展示你想要實現的代碼的例子嗎?目前還不清楚你爲什麼需要它。 –
@LewsTherin爲什麼WriterOutputStream沒有意義? Java API充滿了可以以各種方式組合的包裝類。你能否詳細說明你的觀點? – Mishax