@InterfaceAudience.Public @InterfaceStability.Evolving public class IOUtils extends Object
| Modifier and Type | Field and Description |
|---|---|
static org.slf4j.Logger |
LOG |
| Constructor and Description |
|---|
IOUtils() |
| Modifier and Type | Method and Description |
|---|---|
static void |
cleanup(org.apache.commons.logging.Log log,
Closeable... closeables)
Deprecated.
use
cleanupWithLogger(Logger, java.io.Closeable...)
instead |
static void |
cleanupWithLogger(org.slf4j.Logger logger,
Closeable... closeables)
Close the Closeable objects and ignore any
Throwable or
null pointers. |
static void |
closeSocket(Socket sock)
Closes the socket ignoring
IOException |
static void |
closeStream(Closeable stream)
Closes the stream ignoring
Throwable. |
static void |
closeStreams(Closeable... streams)
Closes the streams ignoring
Throwable. |
static void |
copyBytes(InputStream in,
OutputStream out,
Configuration conf)
Copies from one stream to another.
|
static void |
copyBytes(InputStream in,
OutputStream out,
Configuration conf,
boolean close)
Copies from one stream to another.
|
static void |
copyBytes(InputStream in,
OutputStream out,
int buffSize)
Copies from one stream to another.
|
static void |
copyBytes(InputStream in,
OutputStream out,
int buffSize,
boolean close)
Copies from one stream to another.
|
static void |
copyBytes(InputStream in,
OutputStream out,
long count,
boolean close)
Copies count bytes from one stream to another.
|
static void |
fsync(File fileToSync)
Ensure that any writes to the given file is written to the storage device
that contains it.
|
static void |
fsync(FileChannel channel,
boolean isDir)
Ensure that any writes to the given file is written to the storage device
that contains it.
|
static List<String> |
listDirectory(File dir,
FilenameFilter filter)
Return the complete list of files in a directory as strings.
|
static void |
readFully(InputStream in,
byte[] buf,
int off,
int len)
Reads len bytes in a loop.
|
static byte[] |
readFullyToByteArray(DataInput in)
Reads a DataInput until EOF and returns a byte array.
|
static void |
skipFully(InputStream in,
long len)
Similar to readFully().
|
static IOException |
wrapException(String path,
String methodName,
IOException exception)
Takes an IOException, file/directory path, and method name and returns an
IOException with the input exception as the cause and also include the
file,method details.
|
static int |
wrappedReadForCompressedData(InputStream is,
byte[] buf,
int off,
int len)
Utility wrapper for reading from
InputStream. |
static void |
writeFully(FileChannel fc,
ByteBuffer buf,
long offset)
Write a ByteBuffer to a FileChannel at a given offset,
handling short writes.
|
static void |
writeFully(WritableByteChannel bc,
ByteBuffer buf)
Write a ByteBuffer to a WritableByteChannel, handling short writes.
|
public static void copyBytes(InputStream in, OutputStream out, int buffSize, boolean close) throws IOException
in - InputStrem to read fromout - OutputStream to write tobuffSize - the size of the bufferclose - whether or not close the InputStream and
OutputStream at the end. The streams are closed in the finally clause.IOException - raised on errors performing I/O.public static void copyBytes(InputStream in, OutputStream out, int buffSize) throws IOException
in - InputStrem to read fromout - OutputStream to write tobuffSize - the size of the buffer.IOException - raised on errors performing I/O.public static void copyBytes(InputStream in, OutputStream out, Configuration conf) throws IOException
in - InputStrem to read fromout - OutputStream to write toconf - the Configuration object.IOException - raised on errors performing I/O.public static void copyBytes(InputStream in, OutputStream out, Configuration conf, boolean close) throws IOException
in - InputStream to read fromout - OutputStream to write toconf - the Configuration objectclose - whether or not close the InputStream and
OutputStream at the end. The streams are closed in the finally clause.IOException - raised on errors performing I/O.public static void copyBytes(InputStream in, OutputStream out, long count, boolean close) throws IOException
in - InputStream to read fromout - OutputStream to write tocount - number of bytes to copyclose - whether to close the streamsIOException - if bytes can not be read or writtenpublic static int wrappedReadForCompressedData(InputStream is, byte[] buf, int off, int len) throws IOException
InputStream. It catches any errors
thrown by the underlying stream (either IO or decompression-related), and
re-throws as an IOException.is - - InputStream to be read frombuf - - buffer the data is read intooff - - offset within buflen - - amount of data to be readIOException - raised on errors performing I/O.public static void readFully(InputStream in, byte[] buf, int off, int len) throws IOException
in - InputStream to read frombuf - The buffer to filloff - offset from the bufferlen - the length of bytes to readIOException - if it could not read requested number of bytes
for any reason (including EOF)public static void skipFully(InputStream in, long len) throws IOException
in - The InputStream to skip bytes fromlen - number of bytes to skip.IOException - if it could not skip requested number of bytes
for any reason (including EOF)@Deprecated public static void cleanup(org.apache.commons.logging.Log log, Closeable... closeables)
cleanupWithLogger(Logger, java.io.Closeable...)
insteadThrowable or
null pointers. Must only be used for cleanup in exception handlers.log - the log to record problems to at debug level. Can be null.closeables - the objects to closepublic static void cleanupWithLogger(org.slf4j.Logger logger,
Closeable... closeables)
Throwable or
null pointers. Must only be used for cleanup in exception handlers.logger - the log to record problems to at debug level. Can be null.closeables - the objects to closepublic static void closeStream(Closeable stream)
Throwable.
Must only be called in cleaning up from exception handlers.stream - the Stream to closepublic static void closeStreams(Closeable... streams)
Throwable.
Must only be called in cleaning up from exception handlers.streams - the Streams to closepublic static void closeSocket(Socket sock)
IOExceptionsock - the Socket to closepublic static void writeFully(WritableByteChannel bc, ByteBuffer buf) throws IOException
bc - The WritableByteChannel to write tobuf - The input bufferIOException - On I/O errorpublic static void writeFully(FileChannel fc, ByteBuffer buf, long offset) throws IOException
fc - The FileChannel to write tobuf - The input bufferoffset - The offset in the file to start writing atIOException - On I/O errorpublic static List<String> listDirectory(File dir, FilenameFilter filter) throws IOException
This is better than File#listDir because it does not ignore IOExceptions.
dir - The directory to list.filter - If non-null, the filter to use when listing
this directory.IOException - On I/O errorpublic static void fsync(File fileToSync) throws IOException
fileToSync - the file to fsyncIOException - raised on errors performing I/O.public static void fsync(FileChannel channel, boolean isDir) throws IOException
channel - Channel to syncisDir - if true, the given file is a directory (Channel should be
opened for read and ignore IOExceptions, because not all file
systems and operating systems allow to fsync on a directory)IOException - raised on errors performing I/O.public static IOException wrapException(String path, String methodName, IOException exception)
path - file/directory pathmethodName - method nameexception - the caught exception.public static byte[] readFullyToByteArray(DataInput in) throws IOException
in - A DataInputIOException - on I/O error, other than EOFCopyright © 2023 Apache Software Foundation. All rights reserved.