Java中如何将接口返回的字节串转为文件

简介: Java中如何将接口返回的字节串转为文件

讲一下现在的需求场景


最近公司要在项目中访问一个第三方服务,在这个第三方服务中,需要下载一个报告文件,通过一个接口反馈回来。


这个下载接口返回了一个字节串,如[1,2,3,4,5,6,7],当然真实的数据不会是这个样子的。


但是我们如何将这个字节串转成文件流呢?


接下来就一起来看看吧,也跟大家分享一下我处理的思路。


试一下直接转字符串后转字节数组


我首先拿到了这个字节串,但是并没有办法直接转成字节数组byte[]。


这个时候我想到一个方法,那就是直接讲这个字节串转成字符串,也就是下面的代码:


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


很遗憾,这样是错的,不明所以。


没有办法,只能再去另寻方法。


再试一下是不是特殊符合[],还有逗号造成的失败。


于是我又再次尝试了这种方式,代码给到大家,如下:


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


如上代码,我们先将字符串中的逗号和中括号替换掉,然后再转成字节数组。


可惜,同样也失败了,没办法只能再次另寻他法。


最后还是不想浪费太多时间,找了一下第三方服务是否提供了代码示例


哇唔,还真有的,于是真给了一段代码示例,虽然有点草率,但是很关键。


我把代码示例中如何转字节数组的方法贴出来,供大家学习一下。


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[]>() {
});


最佳解决方案也就这个了,不免感叹,大家还是要去多多利用可以使用的资源,有些情况可能很简单就能解决了,没必要去太过深扣,希望大家可以有所借鉴吧。


相关文章
|
1月前
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
31 1
|
1月前
|
Java
java中替换文件内容
java中替换文件内容
14 1
|
7天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
35 3
|
2天前
|
存储 前端开发 Java
Java实现文件分片上传
Java实现文件分片上传
6 0
|
3天前
|
存储 安全 Java
[Java基础面试题] Map 接口相关
[Java基础面试题] Map 接口相关
|
9天前
|
Java 开发者
探索 Java 的函数式接口和 Lambda 表达式
【4月更文挑战第19天】Java 中的函数式接口和 Lambda 表达式提供了简洁、灵活的编程方式。函数式接口有且仅有一个抽象方法,用于与 Lambda(一种匿名函数语法)配合,简化代码并增强可读性。Lambda 表达式的优点在于其简洁性和灵活性,常用于事件处理、过滤和排序等场景。使用时注意兼容性和变量作用域,它们能提高代码效率和可维护性。
|
10天前
|
Java
Java接口中可以定义哪些方法?
【4月更文挑战第13天】
14 0
Java接口中可以定义哪些方法?
|
11天前
|
设计模式 Java
Java接口与抽象类
Java接口与抽象类
17 0
|
16天前
|
安全 Java 编译器
接口之美,内部之妙:深入解析Java的接口与内部类
接口之美,内部之妙:深入解析Java的接口与内部类
35 0
接口之美,内部之妙:深入解析Java的接口与内部类
|
18天前
|
存储 Java
java接口和内部类
java接口和内部类