Java File Read via ByteBuffer read24BitInteger(byte[] threeBytes, ByteOrder order)

Here you can find the source of read24BitInteger(byte[] threeBytes, ByteOrder order)

Description

read Bit Integer

License

Open Source License

Declaration

public static int read24BitInteger(byte[] threeBytes, ByteOrder order) 

Method Source Code

//package com.java2s;
/* /*from   w ww . ja  v  a 2 s .c  o  m*/
 * SynaticMC
 * Copyright (C) 2016 Sander Gielisse
 *
 *     This program is free software: you can redistribute it and/or modify
 *     it under the terms of the GNU General Public License as published by
 *     the Free Software Foundation, either version 3 of the License, or
 *     (at your option) any later version.
 *
 *     This program is distributed in the hope that it will be useful,
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU General Public License for more details.
 *
 *     You should have received a copy of the GNU General Public License
 *     along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.nio.ByteBuffer;
import java.nio.ByteOrder;

public class Main {
    public static int read24BitInteger(byte[] threeBytes, ByteOrder order) {
        ByteBuffer tmp = ByteBuffer.allocate(4);
        tmp.order(order);
        if (order == ByteOrder.BIG_ENDIAN) {
            tmp.put((byte) 0x00);
            tmp.put(threeBytes[0]);
            tmp.put(threeBytes[1]);
            tmp.put(threeBytes[2]);
            return tmp.getInt(0);
        } else if (order == ByteOrder.LITTLE_ENDIAN) {
            tmp.put(threeBytes[0]);
            tmp.put(threeBytes[1]);
            tmp.put(threeBytes[2]);
            tmp.put((byte) 0x00);
            return tmp.getInt(0);
        }
        throw new UnsupportedOperationException("Unknown ByteOrder " + order);
    }
}

Related

  1. read(final Reader input, final char[] buffer, final int offset, final int length)
  2. read(InputStream stream)
  3. read(Path file)
  4. read(Path file, int pos, int length)
  5. read(Reader reader)
  6. read_file(File input)
  7. readAiffHeader(DataInputStream inStrm, FileChannel fc)
  8. readAndTransfer(final String dir)
  9. readAsByteArray(final InputStream source)