Package ghidra.app.util.bin

# Class RandomAccessMutableByteProvider

java.lang.Object
ghidra.app.util.bin.RandomAccessByteProvider
ghidra.app.util.bin.RandomAccessMutableByteProvider

All Implemented Interfaces:
  `ByteProvider`, `MutableByteProvider`, `Closeable`, `AutoCloseable`

public class RandomAccessMutableByteProvider extends RandomAccessByteProvider implements MutableByteProvider
An implementation of ByteProvider where the underlying bytes are supplied by a random access file.

- ## Field Summary

  ### Fields inherited from class ghidra.app.util.bin.RandomAccessByteProvider

  `file, randomAccessFile`

  ### Fields inherited from interface ghidra.app.util.bin.ByteProvider

  `EMPTY_BYTEPROVIDER`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RandomAccessMutableByteProvider(File file)`
  Constructs a byte provider using the specified file
  `RandomAccessMutableByteProvider(File file, String permissions)`
  Constructs a byte provider using the specified file and permissions string

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `writeByte(long index, byte value)`
  Writes a byte at the specified index.
  `void`
  `writeBytes(long index, byte[] values)`
  Writes a byte array at the specified index.

  ### Methods inherited from class ghidra.app.util.bin.RandomAccessByteProvider

  `close, getAbsolutePath, getFile, getFSRL, getInputStream, getName, isValidIndex, length, readByte, readBytes, setFSRL, toString`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface ghidra.app.util.bin.ByteProvider

  `close, getAbsolutePath, getFile, getFSRL, getInputStream, getName, isEmpty, isValidIndex, length, readByte, readBytes`

- ## Constructor Details

  - ### RandomAccessMutableByteProvider

    public RandomAccessMutableByteProvider(File file) throws IOException
    Constructs a byte provider using the specified file
    Parameters:
      `file` - the file to open for random access
    Throws:
      `FileNotFoundException` - if the file does not exist
      `IOException`

  - ### RandomAccessMutableByteProvider

    public RandomAccessMutableByteProvider(File file, String permissions) throws IOException
    Constructs a byte provider using the specified file and permissions string
    Parameters:
      `file` - the file to open for random access
      `permissions` - indicating permissions used for open
    Throws:
      `FileNotFoundException` - if the file does not exist
      `IOException`

- ## Method Details

  - ### writeByte

    public void writeByte(long index, byte value) throws IOException
    Description copied from interface: `MutableByteProvider`
    Writes a byte at the specified index.
    Specified by:
      `writeByte` in interface `MutableByteProvider`
    Parameters:
      `index` - the index to write the byte
      `value` - the value to write at the specified index
    Throws:
      `IOException` - if an I/O error occurs

  - ### writeBytes

    public void writeBytes(long index, byte[] values) throws IOException
    Description copied from interface: `MutableByteProvider`
    Writes a byte array at the specified index.
    Specified by:
      `writeBytes` in interface `MutableByteProvider`
    Parameters:
      `index` - the index to write the byte array
      `values` - the values to write at the specified index
    Throws:
      `IOException` - if an I/O error occurs