Java RandomAccessFile Read read_UnsignedByte(RandomAccessFile raf)

Here you can find the source of read_UnsignedByte(RandomAccessFile raf)

Description

Reads a Byte (-128 to 127).

License

Open Source License

Parameter

Parameter Description
raf the file where the 4 Bytes are read

Return

a Byte

Declaration

private static short read_UnsignedByte(RandomAccessFile raf) 

Method Source Code

//package com.java2s;
/*******************************************************************************
* Copyright 2016 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
*
* This file is part of JSave./*from  w  w w  . ja  va  2 s.c om*/
*
* JSave 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.
*
* JSave 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 JSave.  If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/

import java.io.IOException;
import java.io.RandomAccessFile;

import java.nio.ByteBuffer;

public class Main {
    /**
     * Reads a Byte (-128 to 127).
     *
     * @param raf the file where the 4 Bytes are read
     * @return a Byte
     */
    private static short read_UnsignedByte(RandomAccessFile raf) {
        byte[] data = new byte[1];
        byte byteData = -1;
        try {
            raf.read(data);
            ByteBuffer bb = ByteBuffer.allocate(data.length);
            bb.put(data);
            return getUnsignedByte(bb);
        } catch (IOException e) {
        }

        return byteData;
    }

    /**
     * Returns an unsigned byte.
     * 
     * Since java does not provide unsigned primitive types, each unsigned
     * value read from the buffer is promoted up to the next bigger primitive
     * data type : getUnsignedByte() returns a short.     
     *
     * @param bb the array of bytes in the buffer
     * @return an unsigned byte as short
     */
    public static short getUnsignedByte(ByteBuffer bb) {
        return ((short) (bb.get(0) & 0xff));
    }
}

Related

  1. read_long(final RandomAccessFile raf)
  2. read_string(final RandomAccessFile raf)
  3. read_structdesc(final RandomAccessFile raf)
  4. read_tagdesc(RandomAccessFile raf)
  5. read_typedesc(final RandomAccessFile raf)
  6. readAByte(ReadableByteChannel readChannel)
  7. readFile(File f)
  8. readFile(File file)
  9. readFile(File file)