org.apache.hadoop.io
Class IOUtils

java.lang.Object
  extended by org.apache.hadoop.io.IOUtils

@InterfaceAudience.Public
@InterfaceStability.Evolving
public class IOUtils
extends Object

An utility class for I/O related functionality.


Constructor Summary
IOUtils()
           
 
Method Summary
static void cleanup(org.apache.commons.logging.Log log, Closeable... closeables)
          Close the Closeable objects and ignore any IOException or null pointers.
static void closeSocket(Socket sock)
          Closes the socket ignoring IOException
static void closeStream(Closeable stream)
          Closes the stream ignoring IOException.
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 readFully(InputStream in, byte[] buf, int off, int len)
          Reads len bytes in a loop.
static void skipFully(InputStream in, long len)
          Similar to readFully().
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IOUtils

public IOUtils()
Method Detail

copyBytes

public static void copyBytes(InputStream in,
                             OutputStream out,
                             int buffSize,
                             boolean close)
                      throws IOException
Copies from one stream to another.

Parameters:
in - InputStrem to read from
out - OutputStream to write to
buffSize - the size of the buffer
close - whether or not close the InputStream and OutputStream at the end. The streams are closed in the finally clause.
Throws:
IOException

copyBytes

public static void copyBytes(InputStream in,
                             OutputStream out,
                             int buffSize)
                      throws IOException
Copies from one stream to another.

Parameters:
in - InputStrem to read from
out - OutputStream to write to
buffSize - the size of the buffer
Throws:
IOException

copyBytes

public static void copyBytes(InputStream in,
                             OutputStream out,
                             Configuration conf)
                      throws IOException
Copies from one stream to another. closes the input and output streams at the end.

Parameters:
in - InputStrem to read from
out - OutputStream to write to
conf - the Configuration object
Throws:
IOException

copyBytes

public static void copyBytes(InputStream in,
                             OutputStream out,
                             Configuration conf,
                             boolean close)
                      throws IOException
Copies from one stream to another.

Parameters:
in - InputStream to read from
out - OutputStream to write to
conf - the Configuration object
close - whether or not close the InputStream and OutputStream at the end. The streams are closed in the finally clause.
Throws:
IOException

copyBytes

public static void copyBytes(InputStream in,
                             OutputStream out,
                             long count,
                             boolean close)
                      throws IOException
Copies count bytes from one stream to another.

Parameters:
in - InputStream to read from
out - OutputStream to write to
count - number of bytes to copy
close - whether to close the streams
Throws:
IOException - if bytes can not be read or written

wrappedReadForCompressedData

public static int wrappedReadForCompressedData(InputStream is,
                                               byte[] buf,
                                               int off,
                                               int len)
                                        throws IOException
Utility wrapper for reading from InputStream. It catches any errors thrown by the underlying stream (either IO or decompression-related), and re-throws as an IOException.

Parameters:
is - - InputStream to be read from
buf - - buffer the data is read into
off - - offset within buf
len - - amount of data to be read
Returns:
number of bytes read
Throws:
IOException

readFully

public static void readFully(InputStream in,
                             byte[] buf,
                             int off,
                             int len)
                      throws IOException
Reads len bytes in a loop.

Parameters:
in - InputStream to read from
buf - The buffer to fill
off - offset from the buffer
len - the length of bytes to read
Throws:
IOException - if it could not read requested number of bytes for any reason (including EOF)

skipFully

public static void skipFully(InputStream in,
                             long len)
                      throws IOException
Similar to readFully(). Skips bytes in a loop.

Parameters:
in - The InputStream to skip bytes from
len - number of bytes to skip.
Throws:
IOException - if it could not skip requested number of bytes for any reason (including EOF)

cleanup

public static void cleanup(org.apache.commons.logging.Log log,
                           Closeable... closeables)
Close the Closeable objects and ignore any IOException or null pointers. Must only be used for cleanup in exception handlers.

Parameters:
log - the log to record problems to at debug level. Can be null.
closeables - the objects to close

closeStream

public static void closeStream(Closeable stream)
Closes the stream ignoring IOException. Must only be called in cleaning up from exception handlers.

Parameters:
stream - the Stream to close

closeSocket

public static void closeSocket(Socket sock)
Closes the socket ignoring IOException

Parameters:
sock - the Socket to close

writeFully

public static void writeFully(WritableByteChannel bc,
                              ByteBuffer buf)
                       throws IOException
Write a ByteBuffer to a WritableByteChannel, handling short writes.

Parameters:
bc - The WritableByteChannel to write to
buf - The input buffer
Throws:
IOException - On I/O error

writeFully

public static void writeFully(FileChannel fc,
                              ByteBuffer buf,
                              long offset)
                       throws IOException
Write a ByteBuffer to a FileChannel at a given offset, handling short writes.

Parameters:
fc - The FileChannel to write to
buf - The input buffer
offset - The offset in the file to start writing at
Throws:
IOException - On I/O error


Copyright © 2012 Apache Software Foundation. All Rights Reserved.