Java:将二进制文件从JAR读入标量,而不是原始字节[]

Java:将二进制文件从JAR读入标量,而不是原始字节[],java,jax-rs,binaryfiles,Java,Jax Rs,Binaryfiles,我有一个二进制文件,在我的jar中,我想以二进制模式来读取它的内容,而不是转换成字符串。跟随 这非常简单,但是调用上下文是预期的和对象。如何将此二进制内容传回调用方,而不是作为基本数组?我正在尝试使用jaxrs将此二进制数据作为对web服务的响应提供 正如@Jon所指出的,打电话的人应该很好: byte[] b = new byte[10]; Object o = b; 这是因为正如他指出的,byte[]是对象的一个实例 不要将字节本身与数组混淆,它们实际上是原语。所有数组都是对象,无论它们包

我有一个二进制文件,在我的jar中,我想以二进制模式来读取它的内容,而不是转换成字符串。跟随


这非常简单,但是调用上下文是预期的和对象。如何将此二进制内容传回调用方,而不是作为基本数组?我正在尝试使用jaxrs将此二进制数据作为对web服务的响应提供

正如@Jon所指出的,打电话的人应该很好:

byte[] b = new byte[10];
Object o = b;
这是因为正如他指出的,
byte[]
对象的一个实例

不要将
字节
本身与数组混淆,它们实际上是原语。所有数组都是对象,无论它们包含什么


因此,调用者应该接收他的
对象
,然后将其作为
应用程序/octet流
发送回调用者。字节数组是一个对象。现在还不清楚这里出了什么问题。。。还请注意,一次读取一个字节可能会非常低效。通常最好通过缓冲区一次读取块。哦,或者使用
finally
块关闭每个输入和输出流。。。如果您使用的是Java 7,请使用try with resources语句。对不起,您是对的,这不是一个真正的问题Jon,您能给我举一个带有缓冲区的示例吗?下面是一个示例:
byte[] b = new byte[10];
Object o = b;