gnu.CORBA.CDR
Interface AbstractDataInput
- BigEndianInputStream, LittleEndianInputStream
Some data input stream that can be either Big or
Little Endian.
This class reuses code from GNU Classpath DataInputStream.
int | read() - Read a single byte.
|
int | read(byte[] b) - This method reads bytes from the underlying stream into the specified
byte array buffer.
|
int | read(byte[] b, int off, int len) - This method reads bytes from the underlying stream into the specified
byte array buffer.
|
boolean | readBoolean() - This method reads a Java boolean value from an input stream.
|
byte | readByte() - This method reads a Java byte value from an input stream.
|
char | readChar() - This method reads a Java
char value from an input stream.
|
double | readDouble() - This method reads a Java double value from an input stream.
|
float | readFloat() - This method reads a Java float value from an input stream.
|
void | readFully(byte[] b) - This method reads raw bytes into the passed array until the array is
full.
|
int | readInt() - This method reads a Java
int value from an input stream
It operates by reading four bytes from the stream and converting them to
a single Java int .
|
long | readLong() - This method reads a Java
long value from an input stream
It operates by reading eight bytes from the stream and converting them to
a single Java long .
|
short | readShort() - This method reads a signed 16-bit value into a Java in from the
stream.
|
int | readUnsignedByte() - This method reads 8 unsigned bits into a Java
int
value from the stream.
|
int | readUnsignedShort() - This method reads 16 unsigned bits into a Java int value from the stream.
|
int | skipBytes(int n) - This method attempts to skip and discard the specified number of bytes
in the input stream.
|
read
public int read()
throws IOException
Read a single byte.
- a byte, extracted from the stream or -1 if
EOF has been reached.
read
public int read(byte[] b)
throws IOException
This method reads bytes from the underlying stream into the specified
byte array buffer. It will attempt to fill the buffer completely, but
may return a short count if there is insufficient data remaining to be
read to fill the buffer.
b
- The buffer into which bytes will be read.
- The actual number of bytes read, or -1 if end of stream reached
before reading any bytes.
read
public int read(byte[] b,
int off,
int len)
throws IOException
This method reads bytes from the underlying stream into the specified
byte array buffer. It will attempt to read len
bytes and
will start storing them at position off
into the buffer.
This method can return a short count if there is insufficient data
remaining to be read to complete the desired read length.
b
- The buffer into which bytes will be read.off
- The offset into the buffer to start storing bytes.len
- The requested number of bytes to read.
- The actual number of bytes read, or -1 if end of stream reached
before reading any bytes.
readBoolean
public boolean readBoolean()
throws IOException
This method reads a Java boolean value from an input stream. It does
so by reading a single byte of data. If that byte is zero, then the
value returned is
false
. If the byte is non-zero, then
the value returned is
true
.
This method can read a
boolean
written by an object
implementing the
writeBoolean()
method in the
DataOutput
interface.
readByte
public byte readByte()
throws IOException
This method reads a Java byte value from an input stream. The value
is in the range of -128 to 127.
This method can read a
byte
written by an object
implementing the
writeByte()
method in the
DataOutput
interface.
readChar
public char readChar()
throws IOException
This method reads a Java
char
value from an input stream.
It operates by reading two bytes from the stream and converting them to
a single 16-bit Java
char
. The two bytes are stored most
significant byte first (i.e., "big endian") regardless of the native
host byte ordering.
As an example, if
byte1
and
byte2
represent the first and second byte read from the stream
respectively, they will be transformed to a
char
in
the following manner:
(char)(((byte1 & 0xFF) << 8) | (byte2 & 0xFF)
This method can read a
char
written by an object
implementing the
writeChar()
method in the
DataOutput
interface.
readDouble
public double readDouble()
throws IOException
This method reads a Java double value from an input stream. It operates
by first reading a
long
value from the stream by calling the
readLong()
method in this interface, then converts
that
long
to a
double
using the
longBitsToDouble
method in the class
java.lang.Double
This method can read a
double
written by an object
implementing the
writeDouble()
method in the
DataOutput
interface.
readFloat
public float readFloat()
throws IOException
This method reads a Java float value from an input stream. It
operates by first reading an
int
value from the
stream by calling the
readInt()
method in this
interface, then converts that
int
to a
float
using the
intBitsToFloat
method
in the class
java.lang.Float
This method can read a
float
written by an object
implementing the
writeFloat()
method in the
DataOutput
interface.
readFully
public void readFully(byte[] b)
throws IOException
This method reads raw bytes into the passed array until the array is
full. Note that this method blocks until the data is available and
throws an exception if there is not enough data left in the stream to
fill the buffer. Note also that zero length buffers are permitted.
In this case, the method will return immediately without reading any
bytes from the stream.
b
- The buffer into which to read the data
readInt
public int readInt()
throws IOException
This method reads a Java
int
value from an input stream
It operates by reading four bytes from the stream and converting them to
a single Java
int
. The bytes are stored most
significant byte first (i.e., "big endian") regardless of the native
host byte ordering.
As an example, if
byte1
through
byte4
represent
the first four bytes read from the stream, they will be
transformed to an
int
in the following manner:
(int)(((byte1 & 0xFF) << 24) + ((byte2 & 0xFF) << 16) +
((byte3 & 0xFF)<< 8) + (byte4 & 0xFF)))
The value returned is in the range of -2147483648 to 2147483647.
This method can read an
int
written by an object
implementing the
writeInt()
method in the
DataOutput
interface.
readLong
public long readLong()
throws IOException
This method reads a Java
long
value from an input stream
It operates by reading eight bytes from the stream and converting them to
a single Java
long
. The bytes are stored most
significant byte first (i.e., "big endian") regardless of the native
host byte ordering.
As an example, if
byte1
through
byte8
represent
the first eight bytes read from the stream, they will be
transformed to an
long
in the following manner:
(long)(((byte1 & 0xFF) << 56) + ((byte2 & 0xFF) << 48) +
((byte3 & 0xFF) << 40) + ((byte4 & 0xFF) << 32) +
((byte5 & 0xFF) << 24) + ((byte6 & 0xFF) << 16) +
((byte7 & 0xFF) << 8) + (byte8 & 0xFF)))
The value returned is in the range of -9223372036854775808 to
9223372036854775807.
This method can read an
long
written by an object
implementing the
writeLong()
method in the
DataOutput
interface.
readShort
public short readShort()
throws IOException
This method reads a signed 16-bit value into a Java in from the
stream. It operates by reading two bytes from the stream and
converting them to a single 16-bit Java
short
. The
two bytes are stored most significant byte first (i.e., "big
endian") regardless of the native host byte ordering.
As an example, if
byte1
and
byte2
represent the first and second byte read from the stream
respectively, they will be transformed to a
short
. in
the following manner:
(short)(((byte1 & 0xFF) << 8) | (byte2 & 0xFF))
The value returned is in the range of -32768 to 32767.
This method can read a
short
written by an object
implementing the
writeShort()
method in the
DataOutput
interface.
readUnsignedByte
public int readUnsignedByte()
throws IOException
This method reads 8 unsigned bits into a Java
int
value from the stream. The value returned is in the range of 0 to
255.
This method can read an unsigned byte written by an object
implementing the
writeUnsignedByte()
method in the
DataOutput
interface.
- The unsigned bytes value read as a Java
int
.
readUnsignedShort
public int readUnsignedShort()
throws IOException
This method reads 16 unsigned bits into a Java int value from the stream.
It operates by reading two bytes from the stream and converting them to
a single Java
int
The two bytes are stored most
significant byte first (i.e., "big endian") regardless of the native
host byte ordering.
As an example, if
byte1
and
byte2
represent the first and second byte read from the stream
respectively, they will be transformed to an
int
in
the following manner:
(int)(((byte1 & 0xFF) << 8) + (byte2 & 0xFF))
The value returned is in the range of 0 to 65535.
This method can read an unsigned short written by an object
implementing the
writeUnsignedShort()
method in the
DataOutput
interface.
- The unsigned short value read as a Java
int
skipBytes
public int skipBytes(int n)
throws IOException
This method attempts to skip and discard the specified number of bytes
in the input stream. It may actually skip fewer bytes than requested.
This method will not skip any bytes if passed a negative number of bytes
to skip.
n
- The requested number of bytes to skip.
- The requested number of bytes to skip.
AbstractDataInput.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath 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 2, or (at your option)
any later version.
GNU Classpath 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 GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.