我得到一個DataBufferas 輸入參數,它是ByteBuffer. 現在我想記錄緩沖區的全部內容。此外,我必須將該緩沖區傳遞給外部庫。因此,由于我無法讀取ByteBuffer兩次,我要么必須重置緩沖區,要么從String.問題:應該首選以下哪種方法(或者是否有另一種更好的方法)?//Input:DataBuffer dataBuffer;//common logging:ByteBuffer bb = dataBuffer.asByteBuffer();String bufferContent = StandardCharsets.UTF_8.decode(bb).toString();LOGGER.info(bufferContent);//then either reset the buffer:bb.rewind();externalService.call(dataBuffer);//or convert the string content back to buffer:externalService.call(new DefaultDataBufferFactory().wrap(bufferContent.getBytes()));
1 回答

紅顏莎娜
TA貢獻1842條經驗 獲得超13個贊
復制緩沖區以保留原始位置、限制和標記值。
String?bufferContent?=?StandardCharsets.UTF_8.decode(bb.duplicate()).toString();
添加回答
舉報
0/150
提交
取消