Class RAFileOutputStream

All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public class RAFileOutputStream extends RAOutputStream
This class is to be used by engine host (viewer), but not engine.
  • Field Details

    • logger

      protected static Logger logger
      the logger
  • Constructor Details

    • RAFileOutputStream

      public RAFileOutputStream(RandomAccessFile parentFile, long startPos)
      Parameters:
      parentFile - - underlying RandomAccess file
      startPos - - the (global) position of the first character in parentFile
      endPos - - the (global) position of EOF mark (not a valid character in the file)
  • Method Details

    • write

      public void write(int b) throws IOException
      The same behavior as OutputStream.write().
      Writes the specified byte to this output stream. The general contract for write is that one byte is written to the output stream. The byte to be written is the eight low-order bits of the argument b. The 24 high-order bits of b are ignored.

      Subclasses of OutputStream must provide an implementation for this method.

      Specified by:
      write in class OutputStream
      Parameters:
      b - the byte.
      Throws:
      IOException - if an I/O error occurs. In particular, an IOException may be thrown if the output stream has been closed.
    • write

      public void write(byte[] b) throws IOException
      Writes b.length bytes from the specified byte array to this output stream. The general contract for write(b) is that it should have exactly the same effect as the call write(b, 0, b.length).
      Overrides:
      write in class OutputStream
      Parameters:
      b - the data.
      Throws:
      IOException - if an I/O error occurs.
      See Also:
    • write

      public void write(byte[] b, int off, int len) throws IOException
      Writes len bytes from the specified byte array starting at offset off to this output stream. The general contract for write(b, off, len) is that some of the bytes in the array b are written to the output stream in order; element b[off] is the first byte written and b[off+len-1] is the last byte written by this operation.
      Overrides:
      write in class OutputStream
      Parameters:
      b - the data.
      off - the start offset in the data.
      len - the number of bytes to write.
      Throws:
      IOException - if an I/O error occurs.
    • writeInt

      public void writeInt(int v) throws IOException
      Specified by:
      writeInt in class RAOutputStream
      Throws:
      IOException
    • writeLong

      public void writeLong(long v) throws IOException
      Specified by:
      writeLong in class RAOutputStream
      Throws:
      IOException
    • seek

      public void seek(long localPos) throws IOException
      Same behavior as the seek in RandomAccessFile.
      Sets the file-pointer offset, measured from the beginning of this file, at which the next read or write occurs. The offset may be set beyond the end of the file. Setting the offset beyond the end of the file does not change the file length. The file length will change only by writing after the offset has been set beyond the end of the file.
      Specified by:
      seek in class RAOutputStream
      Parameters:
      localPos - - the new local postion in the stream, measured in bytes from the beginning of the stream
      Throws:
      IOException
    • getOffset

      public long getOffset() throws IOException
      Specified by:
      getOffset in class RAOutputStream
      Throws:
      IOException
    • getStreamLength

      public long getStreamLength()
      Returns:
      the length of the stream
    • length

      public long length() throws IOException
      Specified by:
      length in class RAOutputStream
      Throws:
      IOException