2
我正在使用一个消息服务,它返回一个ByteBuffer
,其中包含一些我希望使用JAXB进行反序列化的XML。与JAXB一起使用ByteBuffer
是否有直接的方法(使用JAXB的Unmarshaller)反序列化ByteBuffer或将其转换为字符串,然后反序列化的唯一方法?
我正在使用一个消息服务,它返回一个ByteBuffer
,其中包含一些我希望使用JAXB进行反序列化的XML。与JAXB一起使用ByteBuffer
是否有直接的方法(使用JAXB的Unmarshaller)反序列化ByteBuffer或将其转换为字符串,然后反序列化的唯一方法?
它应该是相当琐碎的InputStream其中JAXB应该能够接受作为输入包字节缓冲区:
public class ByteBufferInputStream extends InputStream {
private ByteBuffer byteBuffer;
public ByteBufferInputStream(ByteBuffer byteBuffer) {
this.byteBuffer = byteBuffer;
}
@Override
public int read() throws IOException {
if(byteBuffer.hasRemaining()) {
return byteBuffer.get();
} else {
return -1;
}
}
}
您可能会发现以下有用的:http://stackoverflow.com/questions/4332264 /包裹-A-字节缓冲区与 - 一个-的InputStream –