最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中將接口返回的字節(jié)串轉(zhuǎn)為文件詳解

 更新時(shí)間:2021年11月04日 17:08:34   作者:墨三十一  
這篇文章主要給大家介紹了關(guān)于Java中將接口返回的字節(jié)串轉(zhuǎn)為文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

講一下現(xiàn)在的需求場(chǎng)景

最近公司要在項(xiàng)目中訪問(wèn)一個(gè)第三方服務(wù),在這個(gè)第三方服務(wù)中,需要下載一個(gè)報(bào)告文件,通過(guò)一個(gè)接口反饋回來(lái)。

這個(gè)下載接口返回了一個(gè)字節(jié)串,如[1,2,3,4,5,6,7],當(dāng)然真實(shí)的數(shù)據(jù)不會(huì)是這個(gè)樣子的。

但是我們?nèi)绾螌⑦@個(gè)字節(jié)串轉(zhuǎn)成文件流呢?

接下來(lái)就一起來(lái)看看吧,也跟大家分享一下我處理的思路。

試一下直接轉(zhuǎn)字符串后轉(zhuǎn)字節(jié)數(shù)組

我首先拿到了這個(gè)字節(jié)串,但是并沒(méi)有辦法直接轉(zhuǎn)成字節(jié)數(shù)組byte[]。

這個(gè)時(shí)候我想到一個(gè)方法,那就是直接講這個(gè)字節(jié)串轉(zhuǎn)成字符串,也就是下面的代碼:

Object obj = "[1,2,3,4,5,6,7]";
String string = (String) obj;
byte[] bytes = string.getBytes();
InputStream inputStream = new ByteArrayInputStream(target);

很遺憾,這樣是錯(cuò)的,不明所以。

沒(méi)有辦法,只能再去另尋方法。

再試一下是不是特殊符合[],還有逗號(hào)造成的失敗。

于是我又再次嘗試了這種方式,代碼給到大家,如下:

Object obj = "[1,2,3,4,5,6,7]";
String string = (String) obj;
byte[] bytes = string.getBytes();
InputStream inputStream = new ByteArrayInputStream(target);

如上代碼,我們先將字符串中的逗號(hào)和中括號(hào)替換掉,然后再轉(zhuǎn)成字節(jié)數(shù)組。

可惜,同樣也失敗了,沒(méi)辦法只能再次另尋他法。

最后還是不想浪費(fèi)太多時(shí)間,找了一下第三方服務(wù)是否提供了代碼示例

哇唔,還真有的,于是真給了一段代碼示例,雖然有點(diǎn)草率,但是很關(guān)鍵。

我把代碼示例中如何轉(zhuǎn)字節(jié)數(shù)組的方法貼出來(lái),供大家學(xué)習(xí)一下。

Object obj = "[1,2,3,4,5,6,7]";
String string = (String) obj;
ObjectMapper mapper = new ObjectMapper();
byte[] target = mapper.readValue(string , new TypeReference<byte[]>() {
});

最佳解決方案也就這個(gè)了,不免感嘆,大家還是要去多多利用可以使用的資源,有些情況可能很簡(jiǎn)單就能解決了,沒(méi)必要去太過(guò)深扣,希望大家可以有所借鑒吧。

總結(jié)

到此這篇關(guān)于Java中將接口返回的字節(jié)串轉(zhuǎn)為文件的文章就介紹到這了,更多相關(guān)Java接口返回字節(jié)串轉(zhuǎn)文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot+MinIO+KKFileView實(shí)現(xiàn)文件預(yù)覽功能

    SpringBoot+MinIO+KKFileView實(shí)現(xiàn)文件預(yù)覽功能

    本文主要介紹了使用SpringBoot、MinIO和KKFileView實(shí)現(xiàn)文件上傳和在線預(yù)覽功能,通過(guò)配置MinIO存儲(chǔ)文件,并使用KKFileView生成預(yù)覽鏈接,感興趣的可以了解一下
    2024-11-11
  • java abstract class interface之間的區(qū)別介紹

    java abstract class interface之間的區(qū)別介紹

    含有abstract修飾符的class即為抽象類(lèi),abstract 類(lèi)不能創(chuàng)建的實(shí)例對(duì)象,abstract class類(lèi)中定義抽象方法必須在具體(Concrete)子類(lèi)中實(shí)現(xiàn),所以,不能有抽象構(gòu)造方法或抽象靜態(tài)方法
    2012-11-11
  • springboot使用消息中間件

    springboot使用消息中間件

    這篇文章主要介紹了springboot使用消息中間件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Java實(shí)現(xiàn)的貸款金額計(jì)算功能示例

    Java實(shí)現(xiàn)的貸款金額計(jì)算功能示例

    這篇文章主要介紹了Java實(shí)現(xiàn)的貸款金額計(jì)算功能,結(jié)合實(shí)例形式分析了Java簡(jiǎn)單數(shù)值運(yùn)算及類(lèi)型轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • Java超詳細(xì)教你寫(xiě)一個(gè)網(wǎng)絡(luò)購(gòu)書(shū)系統(tǒng)案例

    Java超詳細(xì)教你寫(xiě)一個(gè)網(wǎng)絡(luò)購(gòu)書(shū)系統(tǒng)案例

    這篇文章主要介紹了怎么用Java來(lái)寫(xiě)一個(gè)購(gòu)書(shū)系統(tǒng),購(gòu)買(mǎi)書(shū)籍主要需要每本書(shū)的編號(hào)、書(shū)名、單價(jià)、庫(kù)存屬性,能夠讓客戶通過(guò)編號(hào)來(lái)選書(shū),感興趣的朋友跟隨文章往下看看吧
    2022-03-03
  • Java導(dǎo)出Word文檔的四種方法

    Java導(dǎo)出Word文檔的四種方法

    在日常的開(kāi)發(fā)工作中,我們時(shí)常會(huì)遇到導(dǎo)出Word文檔報(bào)表的需求,比如公司的財(cái)務(wù)報(bào)表、醫(yī)院的患者統(tǒng)計(jì)報(bào)表、電商平臺(tái)的銷(xiāo)售報(bào)表等等,所以本文給大家介紹了Java導(dǎo)出Word文檔的四種方法,并通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • java后臺(tái)調(diào)用HttpURLConnection類(lèi)模擬瀏覽器請(qǐng)求實(shí)例(可用于接口調(diào)用)

    java后臺(tái)調(diào)用HttpURLConnection類(lèi)模擬瀏覽器請(qǐng)求實(shí)例(可用于接口調(diào)用)

    這篇文章主要介紹了java后臺(tái)調(diào)用HttpURLConnection類(lèi)模擬瀏覽器請(qǐng)求實(shí)例,該實(shí)例可用于接口調(diào)用,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • SpringBoot項(xiàng)目整合MybatisPlus并使用SQLite作為數(shù)據(jù)庫(kù)的過(guò)程

    SpringBoot項(xiàng)目整合MybatisPlus并使用SQLite作為數(shù)據(jù)庫(kù)的過(guò)程

    SQLite是一個(gè)緊湊的庫(kù),啟用所有功能后,庫(kù)大小可以小于 750KiB, 具體取決于目標(biāo)平臺(tái)和編譯器優(yōu)化設(shè)置, 內(nèi)存使用量和速度之間需要權(quán)衡,這篇文章主要介紹了SpringBoot項(xiàng)目整合MybatisPlus并使用SQLite作為數(shù)據(jù)庫(kù),需要的朋友可以參考下
    2024-07-07
  • Java代理模式之靜態(tài)代理與動(dòng)態(tài)代理的區(qū)別及優(yōu)缺點(diǎn)

    Java代理模式之靜態(tài)代理與動(dòng)態(tài)代理的區(qū)別及優(yōu)缺點(diǎn)

    代理模式是一種常用的設(shè)計(jì)模式,它允許通過(guò)引入一個(gè)代理對(duì)象來(lái)控制對(duì)目標(biāo)對(duì)象的訪問(wèn),在Java中,代理模式被廣泛應(yīng)用,它可以提供額外的功能,如權(quán)限檢查、緩存、日志記錄等,本文將介紹靜態(tài)代理與動(dòng)態(tài)代理的區(qū)別及優(yōu)缺點(diǎn),需要的朋友可以參考下
    2023-06-06
  • Java實(shí)現(xiàn)中英文詞典功能

    Java實(shí)現(xiàn)中英文詞典功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)中英文詞典功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評(píng)論

无极县| 嘉鱼县| 延边| 伊春市| 曲麻莱县| 三穗县| 德化县| 沁阳市| 吉林省| 阿勒泰市| 都匀市| 昌吉市| 昌邑市| 旅游| 石棉县| 绍兴县| 陆川县| 贵州省| 五家渠市| 栾川县| 寿宁县| 曲周县| 青浦区| 仙桃市| 寿光市| 大悟县| 修武县| 东城区| 潼南县| 陆河县| 翁牛特旗| 谢通门县| 富裕县| 葫芦岛市| 资源县| 东乌珠穆沁旗| 恭城| 墨脱县| 普洱| 松原市| 德江县|