How to load a classpath resource to an array of byte?

Samuel Rossille picture Samuel Rossille · May 30, 2012 · Viewed 45.4k times · Source

I know how to get the inputstream for a given classpath resource, read from the inputstream until i reach the end, but it looks like a very common problem, and i wonder if there an API that I don't know, or a library that would make things as simple as

byte[] data = ResourceUtils.getResourceAsBytes("/assets/myAsset.bin")

or

byte[] data = StreamUtils.readStreamToEnd(myInputStream)

for example!

Answer

user1335794 picture user1335794 · May 30, 2012

Have a look at Google guava ByteStreams.toByteArray(INPUTSTREAM), this is might be what you want.