gpt4 book ai didi

Java InputStream 到 ByteBuffer

转载 作者:太空狗 更新时间:2023-10-29 22:32:49 24 4
gpt4 key购买 nike

我正在读取 dds 纹理,但是自从构建了 jar 之后,我就无法通过 urlfile 访问这些纹理,并且必须使用 InputStream 代替。

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

Ps:无论通过第 3 部分库,我只需要它工作

最佳答案

对我来说,这种情况下最好的是 Apache commons-io来处理这个和类似的任务。

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

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

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

更新:只要您有字节数组,如@Peter指出,你必须转换为 ByteBuffer

ByteBuffer.wrap(bytes)

JAVA 9 更新:如 @saka1029 所述如果您使用的是 java 9+,则可以使用默认的 InputStream API,它现在包含 InputStream::readAllBytes功能,因此不需要外部库

InputStream is;
byte[] bytes = is.readAllBytes()

关于Java InputStream 到 ByteBuffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30026060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com