Java ByteBuffer Copy copyBytes(ByteBuffer bytes)

Here you can find the source of copyBytes(ByteBuffer bytes)

Description

Extract the bytes in the given ByteBuffer and return it as a byte[] without affecting the mark, position, or limit of the given buffer.

License

Apache License

Parameter

Parameter Description
bytes ByteBuffer.

Return

Contents between 'position' and 'limit' (aka 'remaining') as a byte[]. Parameter object is unaffected.

Declaration

public static byte[] copyBytes(ByteBuffer bytes) 

Method Source Code

//package com.java2s;
/*// w w  w  .  jav  a 2 s . com
 * Copyright (C) 2014 Dell, Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.nio.ByteBuffer;

public class Main {
    /**
     * Extract the bytes in the given ByteBuffer and return it as a byte[] without
     * affecting the mark, position, or limit of the given buffer. This method should be
     * used instead of {@link #getBytes(ByteBuffer)} when the ByteBuffer might be re-read
     * again.
     *
     * @param   bytes   ByteBuffer.
     * @return          Contents between 'position' and 'limit' (aka 'remaining') as a
     *                  byte[]. Parameter object is unaffected.
     */
    public static byte[] copyBytes(ByteBuffer bytes) {
        ByteBuffer copy = bytes.duplicate();
        byte[] result = new byte[copy.remaining()]; // bytes between position and limit
        copy.get(result);
        return result;
    }
}

Related

  1. copyByteBuffer(ByteBuffer buf)
  2. copyByteBuffer(ByteBuffer src)
  3. copyByteBuffer(ByteBuffer srcBuf, int srcStep, ByteBuffer dstBuf, int dstStep)
  4. copyByteBuffer(final ByteBuffer pBuffer)
  5. copyByteBuffer(java.nio.ByteBuffer data)
  6. copyBytes(ByteBuffer src, ByteBuffer dst, int length)
  7. copyBytesFrom(ByteBuffer bb)
  8. copyContentsToArray(ByteBuffer src)
  9. copyFileByMappedByteBuffer(String srcFileName, String dstFileName)