如何將字符串、字節(jié)數組轉為輸入流
將字符串、字節(jié)數組轉為輸入流
將字符串轉成輸入流:
String str = "budaye";
ByteArrayInputStream in = new ByteArrayInputStream(str.getBytes("UTF-8"));ByteArrayInputStream是字節(jié)數組輸入流,它繼承于InputStream。
它包含一個內部緩沖區(qū),該緩沖區(qū)包含從流中讀取的字節(jié)。
如果我們想要將字符串或者字節(jié)數組轉換成字符流,可以使用ByteArrayInputStream類。
輸入流,輸出流,文件,字節(jié)數組,Base64字符串互相轉換
輸入流轉換成字節(jié)數組
通過我封裝的下載服務獲取輸入流,然后使用 StreamUtils.copyToByteArray去獲取字節(jié)數組
InputStream inputStream = fileClient.downloadFile(tenantId, HivpBaseConstants.FileUpload.BUCKET_NAME_CAN, l.getUrl());
byte[] imgByte = StreamUtils.copyToByteArray(inputStream);注意流只能使用一次,當用完流之后需要關閉流。
輸入流轉換成base64編碼字符串
我們需要先轉換成字節(jié)數組然后再轉換字符串
- 轉換字節(jié)數組另一種解決方式
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é)數組轉換成Base64字符串
imageFile = Base64Utils.encodeToString(data);
輸入流轉換為文件
//數據流轉MultipartFile文件
MultipartFile multipartFile = new MockMultipartFile("file", "file" +"."+ fileType, fileType, inputStream);
ResponseEntity<ResponseCommonDTO> recognizeResult = hcanRemoteService.originalCheck(tenantId, companyCode, employeeNumber, multipartFile);將本地的文件轉換成輸入流
String path = "C:\\Users\\mai\\Desktop\\發(fā)票測試集合\\aaaaaaaaaa.pdf"; File file = new File(path); InputStream ins = new FileInputStream(file);
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringBoot如何使用@Cacheable進行緩存與取值
這篇文章主要介紹了SpringBoot如何使用@Cacheable進行緩存與取值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
java解析dbf之通過javadbf包生成和讀取dbf文件
這篇文章主要介紹了java通過javadbf讀取和生成DBF文件的方法,大家參考使用吧2014-01-01
SpringBoot?+?layui?框架實現一周免登陸功能示例詳解
這篇文章主要介紹了SpringBoot+layui框架實現一周免登陸功能,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08
activemq整合springboot使用方法(個人微信小程序用)
這篇文章主要介紹了activemq整合springboot使用(個人微信小程序用),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-03-03

