Package org.bouncycastle.util.io
Class Streams
java.lang.Object
org.bouncycastle.util.io.Streams
Utility methods to assist with stream processing.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
drain
(InputStream inStr) Read stream till EOF is encountered.static void
pipeAll
(InputStream inStr, OutputStream outStr) Write the full contents of inStr to the destination stream outStr.static long
pipeAllLimited
(InputStream inStr, long limit, OutputStream outStr) Write up to limit bytes of data from inStr to the destination stream outStr.static byte[]
readAll
(InputStream inStr) Read stream fully, returning contents in a byte array.static byte[]
readAllLimited
(InputStream inStr, int limit) Read from inStr up to a maximum number of bytes, throwing an exception if more the maximum amount of requested data is available.static int
readFully
(InputStream inStr, byte[] buf) Fully read in buf's length in data, or up to EOF, whichever occurs first,static int
readFully
(InputStream inStr, byte[] buf, int off, int len) Fully read in len's bytes of data into buf, or up to EOF, whichever occurs first,static void
writeBufTo
(ByteArrayOutputStream buf, OutputStream output)
-
Constructor Details
-
Streams
public Streams()
-
-
Method Details
-
drain
Read stream till EOF is encountered.- Parameters:
inStr
- stream to be emptied.- Throws:
IOException
- in case of underlying IOException.
-
readAll
Read stream fully, returning contents in a byte array.- Parameters:
inStr
- stream to be read.- Returns:
- a byte array representing the contents of inStr.
- Throws:
IOException
- in case of underlying IOException.
-
readAllLimited
Read from inStr up to a maximum number of bytes, throwing an exception if more the maximum amount of requested data is available.- Parameters:
inStr
- stream to be read.limit
- maximum number of bytes that can be read.- Returns:
- a byte array representing the contents of inStr.
- Throws:
IOException
- in case of underlying IOException, or if limit is reached on inStr still has data in it.
-
readFully
Fully read in buf's length in data, or up to EOF, whichever occurs first,- Parameters:
inStr
- the stream to be read.buf
- the buffer to be read into.- Returns:
- the number of bytes read into the buffer.
- Throws:
IOException
- in case of underlying IOException.
-
readFully
Fully read in len's bytes of data into buf, or up to EOF, whichever occurs first,- Parameters:
inStr
- the stream to be read.buf
- the buffer to be read into.off
- offset into buf to start putting bytes into.len
- the number of bytes to be read.- Returns:
- the number of bytes read into the buffer.
- Throws:
IOException
- in case of underlying IOException.
-
pipeAll
Write the full contents of inStr to the destination stream outStr.- Parameters:
inStr
- source input stream.outStr
- destination output stream.- Throws:
IOException
- in case of underlying IOException.
-
pipeAllLimited
public static long pipeAllLimited(InputStream inStr, long limit, OutputStream outStr) throws IOException Write up to limit bytes of data from inStr to the destination stream outStr.- Parameters:
inStr
- source input stream.limit
- the maximum number of bytes allowed to be read.outStr
- destination output stream.- Throws:
IOException
- in case of underlying IOException, or if limit is reached on inStr still has data in it.
-
writeBufTo
- Throws:
IOException
-