返回顶部
首页 > 资讯 > 后端开发 > Python >Java中将接口返回的字节串转为文件详解
  • 460
分享到

Java中将接口返回的字节串转为文件详解

2024-04-02 19:04:59 460人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

讲一下现在的需求场景 最近公司要在项目中访问一个第三方服务,在这个第三方服务中,需要下载一个报告文件,通过一个接口反馈回来。 这个下载接口返回了一个字节串,如[1,2,3,4,5,6

讲一下现在的需求场景

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

这个下载接口返回了一个字节串,如[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;
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[]>() {
});

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

总结

到此这篇关于Java中将接口返回的字节串转为文件的文章就介绍到这了,更多相关Java接口返回字节串转文件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java中将接口返回的字节串转为文件详解

本文链接: https://lsjlt.com/news/156472.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作