edu.mines.jtk.io
Class ArrayOutputAdapter

java.lang.Object
  extended by edu.mines.jtk.io.ArrayOutputAdapter
All Implemented Interfaces:
ArrayOutput, java.io.DataOutput

public class ArrayOutputAdapter
extends java.lang.Object
implements ArrayOutput

Implements ArrayOutput by wrapping DataOutput. This adapter wraps a specified data output to provide methods for writing values and arrays of values with an optionally specified byte order.

Byte order should rarely be specified. Most applications should simply use the default BIG_ENDIAN byte order.

When an adapter is constructed from an object that has a file channel, the channel enables more efficient writes of arrays of values.

Version:
2006.08.05
Author:
Dave Hale, Colorado School of Mines

Constructor Summary
ArrayOutputAdapter(java.io.DataOutput output)
          Constructs an adapter for the specified data output.
ArrayOutputAdapter(java.io.DataOutput output, java.nio.ByteOrder order)
          Constructs an adapter for the specified data output and byte order.
ArrayOutputAdapter(java.io.FileOutputStream stream)
          Constructs an adapter for the specified file output stream and byte order.
ArrayOutputAdapter(java.io.FileOutputStream stream, java.nio.ByteOrder order)
          Constructs an adapter for the specified file output stream and byte order.
ArrayOutputAdapter(java.io.RandomAccessFile file)
          Constructs an adapter for the specified random-access file.
ArrayOutputAdapter(java.io.RandomAccessFile file, java.nio.ByteOrder order)
          Constructs an adapter for the specified random-access file and byte order.
ArrayOutputAdapter(java.nio.channels.WritableByteChannel channel, java.io.DataOutput output, java.nio.ByteOrder order)
          Constructs an adapter for the specified channel, output, and byte order.
 
Method Summary
 java.nio.ByteOrder getByteOrder()
          Gets the byte order for this adapter.
 void write(byte[] b)
           
 void write(byte[] b, int off, int len)
           
 void write(int b)
           
 void writeBoolean(boolean v)
           
 void writeByte(int v)
           
 void writeBytes(byte[] v)
          Writes byte elements from a specified array.
 void writeBytes(byte[][] v)
          Writes byte elements from a specified array.
 void writeBytes(byte[][][] v)
          Writes byte elements from a specified array.
 void writeBytes(byte[] v, int k, int n)
          Writes byte elements from a specified array.
 void writeBytes(java.lang.String s)
           
 void writeChar(int v)
           
 void writeChars(char[] v)
          Writes char elements from a specified array.
 void writeChars(char[][] v)
          Writes char elements from a specified array.
 void writeChars(char[][][] v)
          Writes char elements from a specified array.
 void writeChars(char[] v, int k, int n)
          Writes char elements from a specified array.
 void writeChars(java.lang.String s)
           
 void writeDouble(double v)
           
 void writeDoubles(double[] v)
          Writes double elements from a specified array.
 void writeDoubles(double[][] v)
          Writes double elements from a specified array.
 void writeDoubles(double[][][] v)
          Writes double elements from a specified array.
 void writeDoubles(double[] v, int k, int n)
          Writes double elements from a specified array.
 void writeFloat(float v)
           
 void writeFloats(float[] v)
          Writes float elements from a specified array.
 void writeFloats(float[][] v)
          Writes float elements from a specified array.
 void writeFloats(float[][][] v)
          Writes float elements from a specified array.
 void writeFloats(float[] v, int k, int n)
          Writes float elements from a specified array.
 void writeInt(int v)
           
 void writeInts(int[] v)
          Writes int elements from a specified array.
 void writeInts(int[][] v)
          Writes int elements from a specified array.
 void writeInts(int[][][] v)
          Writes int elements from a specified array.
 void writeInts(int[] v, int k, int n)
          Writes int elements from a specified array.
 void writeLong(long v)
           
 void writeLongs(long[] v)
          Writes long elements from a specified array.
 void writeLongs(long[][] v)
          Writes long elements from a specified array.
 void writeLongs(long[][][] v)
          Writes long elements from a specified array.
 void writeLongs(long[] v, int k, int n)
          Writes long elements from a specified array.
 void writeShort(int v)
           
 void writeShorts(short[] v)
          Writes shorts elements from a specified array.
 void writeShorts(short[][] v)
          Writes short elements from a specified array.
 void writeShorts(short[][][] v)
          Writes short elements from a specified array.
 void writeShorts(short[] v, int k, int n)
          Writes short elements from a specified array.
 void writeUTF(java.lang.String s)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArrayOutputAdapter

public ArrayOutputAdapter(java.io.DataOutput output)
Constructs an adapter for the specified data output. The default byte order is BIG_ENDIAN.

Parameters:
output - the data output.

ArrayOutputAdapter

public ArrayOutputAdapter(java.io.RandomAccessFile file)
Constructs an adapter for the specified random-access file. The file channel of the random-access file enables more efficient writes.

Parameters:
file - the random-access file.

ArrayOutputAdapter

public ArrayOutputAdapter(java.io.FileOutputStream stream)
Constructs an adapter for the specified file output stream and byte order. The file channel of the file output stream enables more efficient writes.

Parameters:
stream - the file output stream.

ArrayOutputAdapter

public ArrayOutputAdapter(java.io.DataOutput output,
                          java.nio.ByteOrder order)
Constructs an adapter for the specified data output and byte order.

Parameters:
output - the data output.
order - the byte order.

ArrayOutputAdapter

public ArrayOutputAdapter(java.io.RandomAccessFile file,
                          java.nio.ByteOrder order)
Constructs an adapter for the specified random-access file and byte order. The file channel of the random-access file enables more efficient writes.

Parameters:
file - the random-access file.
order - the byte order.

ArrayOutputAdapter

public ArrayOutputAdapter(java.io.FileOutputStream stream,
                          java.nio.ByteOrder order)
Constructs an adapter for the specified file output stream and byte order. The file channel of the file output stream enables more efficient writes.

Parameters:
stream - the file output stream.
order - the byte order.

ArrayOutputAdapter

public ArrayOutputAdapter(java.nio.channels.WritableByteChannel channel,
                          java.io.DataOutput output,
                          java.nio.ByteOrder order)
Constructs an adapter for the specified channel, output, and byte order. If not null, the writable byte channel enables more efficient writes.

Parameters:
channel - the writable byte channel; null, if none.
output - the data output.
order - the byte order.
Method Detail

getByteOrder

public java.nio.ByteOrder getByteOrder()
Gets the byte order for this adapter.

Returns:
the byte order.

write

public void write(int b)
           throws java.io.IOException
Specified by:
write in interface ArrayOutput
Specified by:
write in interface java.io.DataOutput
Throws:
java.io.IOException

write

public void write(byte[] b)
           throws java.io.IOException
Specified by:
write in interface ArrayOutput
Specified by:
write in interface java.io.DataOutput
Throws:
java.io.IOException

write

public void write(byte[] b,
                  int off,
                  int len)
           throws java.io.IOException
Specified by:
write in interface ArrayOutput
Specified by:
write in interface java.io.DataOutput
Throws:
java.io.IOException

writeBoolean

public void writeBoolean(boolean v)
                  throws java.io.IOException
Specified by:
writeBoolean in interface ArrayOutput
Specified by:
writeBoolean in interface java.io.DataOutput
Throws:
java.io.IOException

writeByte

public void writeByte(int v)
               throws java.io.IOException
Specified by:
writeByte in interface ArrayOutput
Specified by:
writeByte in interface java.io.DataOutput
Throws:
java.io.IOException

writeShort

public void writeShort(int v)
                throws java.io.IOException
Specified by:
writeShort in interface ArrayOutput
Specified by:
writeShort in interface java.io.DataOutput
Throws:
java.io.IOException

writeChar

public void writeChar(int v)
               throws java.io.IOException
Specified by:
writeChar in interface ArrayOutput
Specified by:
writeChar in interface java.io.DataOutput
Throws:
java.io.IOException

writeInt

public void writeInt(int v)
              throws java.io.IOException
Specified by:
writeInt in interface ArrayOutput
Specified by:
writeInt in interface java.io.DataOutput
Throws:
java.io.IOException

writeLong

public void writeLong(long v)
               throws java.io.IOException
Specified by:
writeLong in interface ArrayOutput
Specified by:
writeLong in interface java.io.DataOutput
Throws:
java.io.IOException

writeFloat

public void writeFloat(float v)
                throws java.io.IOException
Specified by:
writeFloat in interface ArrayOutput
Specified by:
writeFloat in interface java.io.DataOutput
Throws:
java.io.IOException

writeDouble

public void writeDouble(double v)
                 throws java.io.IOException
Specified by:
writeDouble in interface ArrayOutput
Specified by:
writeDouble in interface java.io.DataOutput
Throws:
java.io.IOException

writeBytes

public void writeBytes(java.lang.String s)
                throws java.io.IOException
Specified by:
writeBytes in interface ArrayOutput
Specified by:
writeBytes in interface java.io.DataOutput
Throws:
java.io.IOException

writeChars

public void writeChars(java.lang.String s)
                throws java.io.IOException
Specified by:
writeChars in interface ArrayOutput
Specified by:
writeChars in interface java.io.DataOutput
Throws:
java.io.IOException

writeUTF

public void writeUTF(java.lang.String s)
              throws java.io.IOException
Specified by:
writeUTF in interface ArrayOutput
Specified by:
writeUTF in interface java.io.DataOutput
Throws:
java.io.IOException

writeBytes

public void writeBytes(byte[] v,
                       int k,
                       int n)
                throws java.io.IOException
Writes byte elements from a specified array.

Specified by:
writeBytes in interface ArrayOutput
Parameters:
v - the array.
k - the index of the first element to write.
n - the number of elements to write.
Throws:
java.io.IOException

writeBytes

public void writeBytes(byte[] v)
                throws java.io.IOException
Writes byte elements from a specified array. The array length equals the number of elements to write.

Specified by:
writeBytes in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeBytes

public void writeBytes(byte[][] v)
                throws java.io.IOException
Writes byte elements from a specified array.

Specified by:
writeBytes in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeBytes

public void writeBytes(byte[][][] v)
                throws java.io.IOException
Writes byte elements from a specified array.

Specified by:
writeBytes in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeChars

public void writeChars(char[] v,
                       int k,
                       int n)
                throws java.io.IOException
Writes char elements from a specified array.

Specified by:
writeChars in interface ArrayOutput
Parameters:
v - the array.
k - the index of the first element to write.
n - the number of elements to write.
Throws:
java.io.IOException

writeChars

public void writeChars(char[] v)
                throws java.io.IOException
Writes char elements from a specified array. The array length equals the number of elements to write.

Specified by:
writeChars in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeChars

public void writeChars(char[][] v)
                throws java.io.IOException
Writes char elements from a specified array.

Specified by:
writeChars in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeChars

public void writeChars(char[][][] v)
                throws java.io.IOException
Writes char elements from a specified array.

Specified by:
writeChars in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeShorts

public void writeShorts(short[] v,
                        int k,
                        int n)
                 throws java.io.IOException
Writes short elements from a specified array.

Specified by:
writeShorts in interface ArrayOutput
Parameters:
v - the array.
k - the index of the first element to write.
n - the number of elements to write.
Throws:
java.io.IOException

writeShorts

public void writeShorts(short[] v)
                 throws java.io.IOException
Writes shorts elements from a specified array. The array length equals the number of elements to write.

Specified by:
writeShorts in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeShorts

public void writeShorts(short[][] v)
                 throws java.io.IOException
Writes short elements from a specified array.

Specified by:
writeShorts in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeShorts

public void writeShorts(short[][][] v)
                 throws java.io.IOException
Writes short elements from a specified array.

Specified by:
writeShorts in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeInts

public void writeInts(int[] v,
                      int k,
                      int n)
               throws java.io.IOException
Writes int elements from a specified array.

Specified by:
writeInts in interface ArrayOutput
Parameters:
v - the array.
k - the index of the first element to write.
n - the number of elements to write.
Throws:
java.io.IOException

writeInts

public void writeInts(int[] v)
               throws java.io.IOException
Writes int elements from a specified array. The array length equals the number of elements to write.

Specified by:
writeInts in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeInts

public void writeInts(int[][] v)
               throws java.io.IOException
Writes int elements from a specified array.

Specified by:
writeInts in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeInts

public void writeInts(int[][][] v)
               throws java.io.IOException
Writes int elements from a specified array.

Specified by:
writeInts in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeLongs

public void writeLongs(long[] v,
                       int k,
                       int n)
                throws java.io.IOException
Writes long elements from a specified array.

Specified by:
writeLongs in interface ArrayOutput
Parameters:
v - the array.
k - the index of the first element to write.
n - the number of elements to write.
Throws:
java.io.IOException

writeLongs

public void writeLongs(long[] v)
                throws java.io.IOException
Writes long elements from a specified array. The array length equals the number of elements to write.

Specified by:
writeLongs in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeLongs

public void writeLongs(long[][] v)
                throws java.io.IOException
Writes long elements from a specified array.

Specified by:
writeLongs in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeLongs

public void writeLongs(long[][][] v)
                throws java.io.IOException
Writes long elements from a specified array.

Specified by:
writeLongs in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeFloats

public void writeFloats(float[] v,
                        int k,
                        int n)
                 throws java.io.IOException
Writes float elements from a specified array.

Specified by:
writeFloats in interface ArrayOutput
Parameters:
v - the array.
k - the index of the first element to write.
n - the number of elements to write.
Throws:
java.io.IOException

writeFloats

public void writeFloats(float[] v)
                 throws java.io.IOException
Writes float elements from a specified array. The array length equals the number of elements to write.

Specified by:
writeFloats in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeFloats

public void writeFloats(float[][] v)
                 throws java.io.IOException
Writes float elements from a specified array.

Specified by:
writeFloats in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeFloats

public void writeFloats(float[][][] v)
                 throws java.io.IOException
Writes float elements from a specified array.

Specified by:
writeFloats in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeDoubles

public void writeDoubles(double[] v,
                         int k,
                         int n)
                  throws java.io.IOException
Writes double elements from a specified array.

Specified by:
writeDoubles in interface ArrayOutput
Parameters:
v - the array.
k - the index of the first element to write.
n - the number of elements to write.
Throws:
java.io.IOException

writeDoubles

public void writeDoubles(double[] v)
                  throws java.io.IOException
Writes double elements from a specified array. The array length equals the number of elements to write.

Specified by:
writeDoubles in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeDoubles

public void writeDoubles(double[][] v)
                  throws java.io.IOException
Writes double elements from a specified array.

Specified by:
writeDoubles in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException

writeDoubles

public void writeDoubles(double[][][] v)
                  throws java.io.IOException
Writes double elements from a specified array.

Specified by:
writeDoubles in interface ArrayOutput
Parameters:
v - the array.
Throws:
java.io.IOException