Java ByteBuffer to Int readInt(ByteBuffer buf, int length)

Here you can find the source of readInt(ByteBuffer buf, int length)

Description

read Int

License

Open Source License

Declaration

public static int readInt(ByteBuffer buf, int length) 

Method Source Code

//package com.java2s;
/**//  w  w w.  j  a  v  a  2  s . c o  m
 * Project: ${puma-common.aid}
 * <p/>
 * File Created at 2012-6-6 $Id$
 * <p/>
 * Copyright 2010 dianping.com. All rights reserved.
 * <p/>
 * This software is the confidential and proprietary information of Dianping
 * Company. ("Confidential Information"). You shall not disclose such
 * Confidential Information and shall use it only in accordance with the terms
 * of the license agreement you entered into with dianping.com.
 */

import java.nio.ByteBuffer;

public class Main {
    public static int readInt(ByteBuffer buf, int length) {
        if ((buf.position() + length) <= buf.limit() && length <= 4) {
            int r = 0;
            for (int i = 0; i < length; i++) {
                r |= ((buf.get() & 0xff) << (i << 3));
            }
            return r;
        }
        return 0;
    }

    public static int readInt(ByteBuffer buf, int length, boolean isLittleEndian) {
        if ((buf.position() + length) <= buf.limit() && length <= 4) {
            int r = 0;
            for (int i = 0; i < length; i++) {
                if (isLittleEndian) {
                    r |= ((buf.get() & 0xff) << (i << 3));
                } else {
                    r = (r << 8) | (buf.get() & 0xff);
                }

            }
            return r;
        }
        return 0;
    }
}

Related

  1. getUnsignedVarInt(ByteBuffer buffer, int numBytes)
  2. getUShort(ByteBuffer buffer)
  3. getUShort(ByteBuffer buffer)
  4. getUShort(java.nio.ByteBuffer buffer)
  5. readInt(ByteBuffer buf)
  6. readInt(ByteBuffer buf, int pos)
  7. readInt(ByteBuffer buffer)
  8. readInt(ByteBuffer buffer)
  9. readInt(ReadableByteChannel channel, ByteBuffer buffer)