欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何將字符串、字節(jié)數(shù)組轉(zhuǎn)為輸入流

 更新時(shí)間:2024年05月30日 14:55:38   作者:卜大爺  
這篇文章主要介紹了如何將字符串、字節(jié)數(shù)組轉(zhuǎn)為輸入流問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

將字符串、字節(jié)數(shù)組轉(zhuǎn)為輸入流

將字符串轉(zhuǎn)成輸入流:

String str = "budaye";
ByteArrayInputStream in = new ByteArrayInputStream(str.getBytes("UTF-8"));

ByteArrayInputStream是字節(jié)數(shù)組輸入流,它繼承于InputStream。

它包含一個(gè)內(nèi)部緩沖區(qū),該緩沖區(qū)包含從流中讀取的字節(jié)。

如果我們想要將字符串或者字節(jié)數(shù)組轉(zhuǎn)換成字符流,可以使用ByteArrayInputStream類。

輸入流,輸出流,文件,字節(jié)數(shù)組,Base64字符串互相轉(zhuǎn)換

輸入流轉(zhuǎn)換成字節(jié)數(shù)組

通過我封裝的下載服務(wù)獲取輸入流,然后使用 StreamUtils.copyToByteArray去獲取字節(jié)數(shù)組

InputStream inputStream = fileClient.downloadFile(tenantId, HivpBaseConstants.FileUpload.BUCKET_NAME_CAN, l.getUrl());
                                byte[] imgByte = StreamUtils.copyToByteArray(inputStream);

注意流只能使用一次,當(dāng)用完流之后需要關(guān)閉流。

輸入流轉(zhuǎn)換成base64編碼字符串

我們需要先轉(zhuǎn)換成字節(jié)數(shù)組然后再轉(zhuǎn)換字符串

  • 轉(zhuǎn)換字節(jié)數(shù)組另一種解決方式
  public static byte[] readInputStream(InputStream is) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int length = 0;
        try {
            while ((length = is.read(buffer)) != -1) {
                baos.write(buffer, 0, length);
            }
            baos.flush();
        } catch (IOException e) {
            logger.error("IOException", e);
        }
        byte[] data = baos.toByteArray();
        try {
            is.close();
            baos.close();
        } catch (IOException e) {
            logger.error("IOException", e);
        }
        return data;
    }
  • 字節(jié)數(shù)組轉(zhuǎn)換成Base64字符串
imageFile = Base64Utils.encodeToString(data);

輸入流轉(zhuǎn)換為文件

  //數(shù)據(jù)流轉(zhuǎn)MultipartFile文件
                                MultipartFile multipartFile = new MockMultipartFile("file", "file" +"."+ fileType, fileType, inputStream);
                                ResponseEntity<ResponseCommonDTO> recognizeResult = hcanRemoteService.originalCheck(tenantId, companyCode, employeeNumber, multipartFile);

將本地的文件轉(zhuǎn)換成輸入流

String path = "C:\\Users\\mai\\Desktop\\發(fā)票測(cè)試集合\\aaaaaaaaaa.pdf";
File file = new File(path);
InputStream ins = new FileInputStream(file);

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot日期格式化及時(shí)差問題分析

    springboot日期格式化及時(shí)差問題分析

    這篇文章主要介紹了springboot日期格式化,時(shí)差問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • Java實(shí)現(xiàn)ArrayList排序的方法詳解

    Java實(shí)現(xiàn)ArrayList排序的方法詳解

    Java中常見的ArrayList排序方法主要為三種:JDK8的stream、Comparator#compare()和Comparable#compareTo(),本文將詳解這三者的使用,需要的可以參考一下
    2022-05-05
  • Java FileUploadUtil工具類詳解

    Java FileUploadUtil工具類詳解

    這篇文章主要為大家詳細(xì)介紹了Java FileUploadUtil工具類的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • SpringBoot如何使用@Cacheable進(jìn)行緩存與取值

    SpringBoot如何使用@Cacheable進(jìn)行緩存與取值

    這篇文章主要介紹了SpringBoot如何使用@Cacheable進(jìn)行緩存與取值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • java解析dbf之通過javadbf包生成和讀取dbf文件

    java解析dbf之通過javadbf包生成和讀取dbf文件

    這篇文章主要介紹了java通過javadbf讀取和生成DBF文件的方法,大家參考使用吧
    2014-01-01
  • 一篇文章帶你深入了解Java基礎(chǔ)(5)

    一篇文章帶你深入了解Java基礎(chǔ)(5)

    這篇文章主要給大家介紹了關(guān)于Java中方法使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • SpringBoot?+?layui?框架實(shí)現(xiàn)一周免登陸功能示例詳解

    SpringBoot?+?layui?框架實(shí)現(xiàn)一周免登陸功能示例詳解

    這篇文章主要介紹了SpringBoot+layui框架實(shí)現(xiàn)一周免登陸功能,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • 詳解Java實(shí)現(xiàn)多線程的三種方式

    詳解Java實(shí)現(xiàn)多線程的三種方式

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)多線程的三種方式,感興趣的小伙伴們可以參考一下
    2016-03-03
  • activemq整合springboot使用方法(個(gè)人微信小程序用)

    activemq整合springboot使用方法(個(gè)人微信小程序用)

    這篇文章主要介紹了activemq整合springboot使用(個(gè)人微信小程序用),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Spring Retry 重試實(shí)例詳解

    Spring Retry 重試實(shí)例詳解

    這篇文章主要介紹了Spring Retry 重試,使用方式有兩種分別是命令式和聲明式,本文通過實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下
    2022-10-10

最新評(píng)論