Java中IO流之字符流與字節(jié)流的轉(zhuǎn)換方式
字符流與字節(jié)流的轉(zhuǎn)換
Java只提供了將字節(jié)流轉(zhuǎn)為字符流的方法,并沒(méi)有字符流轉(zhuǎn)為字節(jié)流的方法。
因?yàn)樽止?jié)流是一個(gè)通用的流,可以傳輸各種類型的資源,比如:文本、圖片、音頻等…
而字符流是一個(gè)特殊的流,只能傳輸文本類型的資源,但是它比字節(jié)流傳輸文本的方式更加方便、快捷。
所以,有些場(chǎng)景需要將字節(jié)流轉(zhuǎn)為更加方便快捷的字符流來(lái)處理;但沒(méi)有場(chǎng)景需要將字符流轉(zhuǎn)為字節(jié)流,這個(gè)很好理解,如果是文本類型,字符流更高效,不需要轉(zhuǎn)為字節(jié)流,如果是其它類型,字符流根本就用不了,也不存在轉(zhuǎn)換一說(shuō)。
將字節(jié)流轉(zhuǎn)換成字符流,可以使用
轉(zhuǎn)換專屬流
java.io.InputStreamReader java.io.OutputStreamWriter
該類的構(gòu)造方法是4個(gè)重載方法
參數(shù)可以是字符流對(duì)象
或者是字符流對(duì)象+字符集名稱/字符集對(duì)象/字符集解碼器對(duì)象
public InputStreamReader(InputStream in) {}
public InputStreamReader(InputStream in, String charsetName)
throws UnsupportedEncodingException {}
public InputStreamReader(InputStream in, Charset cs) {}
public InputStreamReader(InputStream in, CharsetDecoder dec) {}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
IDEA中為SpringBoot項(xiàng)目接入MySQL數(shù)據(jù)庫(kù)的詳細(xì)指南
MySQL作為最流行的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù),與Spring Boot的整合是企業(yè)級(jí)開(kāi)發(fā)的標(biāo)配,本文將手把手教你?在IntelliJ IDEA中為Spring Boot項(xiàng)目接入MySQL數(shù)據(jù)庫(kù)?,有需要的可以了解下2025-05-05
Java非靜態(tài)成員變量之死循環(huán)(詳解)
下面小編就為大家?guī)?lái)一篇Java非靜態(tài)成員變量之死循環(huán)(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
Java?String源碼contains題解重復(fù)疊加字符串匹配
這篇文章主要為大家介紹了Java?String源碼contains題解重復(fù)疊加字符串匹配示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Java中常見(jiàn)的查找算法與排序算法總結(jié)
數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)存儲(chǔ)的方式,算法是數(shù)據(jù)計(jì)算的方式。所以在開(kāi)發(fā)中,算法和數(shù)據(jù)結(jié)構(gòu)息息相關(guān)。本文為大家整理了Java中常見(jiàn)的查找與排序算法的實(shí)現(xiàn),需要的可以參考一下2023-03-03
詳解SpringBoot中異步請(qǐng)求的實(shí)現(xiàn)與并行執(zhí)行
這篇文章主要為大家詳細(xì)介紹了在SpringBoot中如何是實(shí)現(xiàn)異步請(qǐng)求、并行執(zhí)行,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02
Spring Cloud gateway 網(wǎng)關(guān)如何攔截Post請(qǐng)求日志
這篇文章主要介紹了Spring Cloud gateway 網(wǎng)關(guān)如何攔截Post請(qǐng)求日志的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
SpringBoot3實(shí)現(xiàn)統(tǒng)一結(jié)果封裝的示例代碼
Spring Boot進(jìn)行統(tǒng)一結(jié)果封裝的主要目的是提高開(kāi)發(fā)效率、降低代碼重復(fù)率,并且提供一致的API響應(yīng)格式,從而簡(jiǎn)化前后端交互和錯(cuò)誤處理,所以本文給大家介紹了SpringBoot3實(shí)現(xiàn)統(tǒng)一結(jié)果封裝的方法,需要的朋友可以參考下2024-03-03

