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 –