public static void main(String[] args) throws UnsupportedEncodingException {

        ByteBuffer byteBuffer = ByteBuffer.allocateDirect(10);
        byteBuffer.put("Test".getBytes("UTF-8"));
        byteBuffer.flip();
        System.out.println(Arrays.toString(conver(byteBuffer)));

        byteBuffer = ByteBuffer.allocate(10);
        byteBuffer.put("Test".getBytes("UTF-8"));
        byteBuffer.flip();
        System.out.println(Arrays.toString(conver(byteBuffer)));
    }


    //必须调用完后flip()才可以调用此方法
    public static byte[] conver(ByteBuffer byteBuffer){
        int len = byteBuffer.limit() - byteBuffer.position();
        byte[] bytes = new byte[len];

        if(byteBuffer.isReadOnly()){
            return null;
        }else {
            byteBuffer.get(bytes);
        }
        return bytes;
    }
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐