加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java InputStream到ByteBuffer

发布时间:2020-12-14 05:09:39 所属栏目:Java 来源:网络整理
导读:我正在读取dds纹理,但是由于一旦构建了jar,我无法通过url和file访问这些纹理,并且必须使用InputStream. 所以我需要知道如何从java.io.InputStream获取一个java.nio.ByteBuffer. Ps:无论通过第三方库,我只需要它的工作 解决方法 对我而言,在这种情况下最好的
我正在读取dds纹理,但是由于一旦构建了jar,我无法通过url和file访问这些纹理,并且必须使用InputStream.

所以我需要知道如何从java.io.InputStream获取一个java.nio.ByteBuffer.

Ps:无论通过第三方库,我只需要它的工作

解决方法

对我而言,在这种情况下最好的是 Apache commons-io处理这个和类似的任务.

IOUtils类型具有静态方法来读取InputStream并返回一个byte [].

InputStream is;
byte[] bytes = IOUtils.toByteArray(is);

在内部创建一个ByteArrayOutputStream并将字节复制到输出,然后调用toByteArray().

更新:只要你有字节数组,就像@Peter指向的,你必须转换为ByteBuffer

ByteBuffer.wrap(bytes)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读