Java InputStream到ByteBuffer

前端之家收集整理的这篇文章主要介绍了Java InputStream到ByteBuffer前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在读取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)

猜你在找的Java相关文章