Package ghidra.app.util.bin
Class ByteProviderPaddedInputStream
- java.lang.Object
-
- java.io.InputStream
-
- ghidra.app.util.bin.ByteProviderPaddedInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public class ByteProviderPaddedInputStream extends java.io.InputStream
Wraps aByteProvider
and presents it as anInputStream
.This InputStream will be limited to a region of the underlying ByteProvider, and has an optional amount of padding at the end of the stream where the stream will appear to have bytes with a value of zero.
-
-
Constructor Summary
Constructors Constructor Description ByteProviderPaddedInputStream(ByteProvider provider, long startOffset, long length, long padCount)
Create a newByteProviderInputStream
instance, using the specifiedByteProvider
as the source of the bytes returned from this stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
available()
void
close()
int
read()
-
-
-
Constructor Detail
-
ByteProviderPaddedInputStream
public ByteProviderPaddedInputStream(ByteProvider provider, long startOffset, long length, long padCount)
Create a newByteProviderInputStream
instance, using the specifiedByteProvider
as the source of the bytes returned from this stream.The source ByteProvider is not closed when this stream is closed.
The total number of bytes that can be read from this instance will be length + padCount.
- Parameters:
provider
- theByteProvider
to wrap.startOffset
- the starting offset in the ByteProvider.length
- the number of bytes from theByteProvider
to allow to be read by this InputStream.padCount
- the number of fake zero bytes to add after the reallength
bytes.
-
-
Method Detail
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
-
read
public int read() throws java.io.IOException
- Specified by:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
available
public int available()
- Overrides:
available
in classjava.io.InputStream
-
-