亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

`InputStream` 和 `Reader` 本質上是一樣的,`OutputStream`

`InputStream` 和 `Reader` 本質上是一樣的,`OutputStream`

偶然的你 2022-11-30 16:37:15
在 Java中 InputStream,OutputStream處理 byte[],Reader和Writer.char[]他們的輸入或輸出是否本質上具有相同的值byte[]?char[](這是我的印象,因為 IO 中的一個 char 和一個 byte 具有相同的值)換句話說,are InputStreamand Readeressentially same,are OutputStreamand Writeressentially same?
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

它們本質上并不相同,但它們對不同類型的數據執行相同類型的操作。

InputStreamOutputStream字節為單位工作。在處理非文本信息(例如圖像)時,您會使用它們。

ReaderWriter角色中工作。您會在處理文本信息時使用它們。

所以“是”和“不是”。:-)InputStreamReader都用于讀取信息(分別為字節流或字符流),并且OutputStreamWriter都用于寫入信息(分別為字節流或字符流)。您使用哪種取決于您處理的數據類型。流是面向字節的。讀者/作者以性格為導向。

兩種數據之間存在橋接類:

  • InputStreamReader從 an 中讀取并使用 a (明確提供或按名稱提供)InputStream將字節轉換為字符。CharSet

  • OutputStreamWriter相反:將字符轉換為字節(再次通過 a CharSet)并將字節寫入OutputStream.

...但是大多數Reader/Writer子類讀取/寫入已經基于字符的源/目標,因此根本不處理字節。例如,StringReader從字符串中讀取字符。由于源(字符串)已經是基于字符的,因此Reader永遠不會處理字節,只處理字符。


查看完整回答
反對 回復 2022-11-30
?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

是的,你有正確的想法。標準類InputStreamReaderOutputStreamWriter充當從字節流接口到字符流接口的適配器,只需要指定一個 Charset(通常是 UTF-8)。該 Charset 將用于將傳入字節轉換為 Java 的 UTF-16 字符類型,因此值得注意的是,從 InputStream 和 Reader 讀取的實際字節始終相同是不正確的。

InputStream 通常用于讀取任何類型的數據,而 Reader 僅適用于讀取文本數據。


查看完整回答
反對 回復 2022-11-30
  • 2 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號