Package org.docx4j.org.apache.poi.util
Class IOUtils
java.lang.Object
org.docx4j.org.apache.poi.util.IOUtils
public final class IOUtils
extends java.lang.Object
-
Method Summary
Modifier and Type Method Description static longcalculateChecksum(byte[] data)static voidcloseQuietly(java.io.Closeable closeable)Quietly (no exceptions) close Closable resource.static voidcopy(java.io.InputStream inp, java.io.OutputStream out)Copies all the data from the given InputStream to the OutputStream.static byte[]peekFirst8Bytes(java.io.InputStream stream)Peeks at the first 8 bytes of the stream.static intreadFully(java.io.InputStream in, byte[] b)Helper method, just calls readFully(in, b, 0, b.length)static intreadFully(java.io.InputStream in, byte[] b, int off, int len)Same as the normal in.read(b, off, len), but tries to ensure that the entire len number of bytes is read.static intreadFully(java.nio.channels.ReadableByteChannel channel, java.nio.ByteBuffer b)Same as the normal channel.read(b), but tries to ensure that the entire len number of bytes is read.static byte[]toByteArray(java.io.InputStream stream)Reads all the data from the input stream, and returns the bytes read.static byte[]toByteArray(java.nio.ByteBuffer buffer, int length)Returns an array (that shouldn't be written to!) of the ByteBuffer.
-
Method Details
-
peekFirst8Bytes
public static byte[] peekFirst8Bytes(java.io.InputStream stream) throws java.io.IOException, EmptyFileExceptionPeeks at the first 8 bytes of the stream. Returns those bytes, but with the stream unaffected. Requires a stream that supports mark/reset, or a PushbackInputStream. If the stream has >0 but <8 bytes, remaining bytes will be zero.- Throws:
EmptyFileException- if the stream is emptyjava.io.IOException
-
toByteArray
public static byte[] toByteArray(java.io.InputStream stream) throws java.io.IOExceptionReads all the data from the input stream, and returns the bytes read.- Throws:
java.io.IOException
-
toByteArray
public static byte[] toByteArray(java.nio.ByteBuffer buffer, int length)Returns an array (that shouldn't be written to!) of the ByteBuffer. Will be of the requested length, or possibly longer if that's easier. -
readFully
public static int readFully(java.io.InputStream in, byte[] b) throws java.io.IOExceptionHelper method, just calls readFully(in, b, 0, b.length)- Throws:
java.io.IOException
-
readFully
public static int readFully(java.io.InputStream in, byte[] b, int off, int len) throws java.io.IOExceptionSame as the normal in.read(b, off, len), but tries to ensure that the entire len number of bytes is read.If the end of file is reached before any bytes are read, returns -1. If the end of the file is reached after some bytes are read, returns the number of bytes read. If the end of the file isn't reached before len bytes have been read, will return len bytes.
- Throws:
java.io.IOException
-
readFully
public static int readFully(java.nio.channels.ReadableByteChannel channel, java.nio.ByteBuffer b) throws java.io.IOExceptionSame as the normal channel.read(b), but tries to ensure that the entire len number of bytes is read.If the end of file is reached before any bytes are read, returns -1. If the end of the file is reached after some bytes are read, returns the number of bytes read. If the end of the file isn't reached before len bytes have been read, will return len bytes.
- Throws:
java.io.IOException
-
copy
public static void copy(java.io.InputStream inp, java.io.OutputStream out) throws java.io.IOExceptionCopies all the data from the given InputStream to the OutputStream. It leaves both streams open, so you will still need to close them once done.- Throws:
java.io.IOException
-
calculateChecksum
public static long calculateChecksum(byte[] data) -
closeQuietly
public static void closeQuietly(java.io.Closeable closeable)Quietly (no exceptions) close Closable resource. In case of error it will be printed toIOUtilsclass logger.- Parameters:
closeable- resource to close
-