Class Channels

java.lang.Object
org.elasticsearch.common.io.Channels

public final class Channels extends Object
  • Field Details

    • WRITE_CHUNK_SIZE

      public static final int WRITE_CHUNK_SIZE
      The maximum chunk size for writes in bytes
      See Also:
  • Method Details

    • readFromFileChannel

      public static byte[] readFromFileChannel(FileChannel channel, long position, int length) throws IOException
      read length bytes from position of a file channel
      Throws:
      IOException
    • readFromFileChannelWithEofException

      public static void readFromFileChannelWithEofException(FileChannel channel, long channelPosition, byte[] dest, int destOffset, int length) throws IOException
      read length bytes from position of a file channel. An EOFException will be thrown if you attempt to read beyond the end of file.
      Parameters:
      channel - channel to read from
      channelPosition - position to read from
      dest - destination byte array to put data in
      destOffset - offset in dest to read into
      length - number of bytes to read
      Throws:
      IOException
    • readFromFileChannel

      public static int readFromFileChannel(FileChannel channel, long channelPosition, byte[] dest, int destOffset, int length) throws IOException
      read length bytes from position of a file channel.
      Parameters:
      channel - channel to read from
      channelPosition - position to read from
      dest - destination byte array to put data in
      destOffset - offset in dest to read into
      length - number of bytes to read
      Returns:
      total bytes read or -1 if an attempt was made to read past EOF. The method always tries to read all the bytes that will fit in the destination byte buffer.
      Throws:
      IOException
    • readFromFileChannelWithEofException

      public static int readFromFileChannelWithEofException(FileChannel channel, long channelPosition, ByteBuffer dest) throws IOException
      read from a file channel into a byte buffer, starting at a certain position. An EOFException will be thrown if you attempt to read beyond the end of file.
      Parameters:
      channel - channel to read from
      channelPosition - position to read from
      dest - destination ByteBuffer to put data in
      Returns:
      total bytes read
      Throws:
      IOException
    • readFromFileChannel

      public static int readFromFileChannel(FileChannel channel, long channelPosition, ByteBuffer dest) throws IOException
      read from a file channel into a byte buffer, starting at a certain position.
      Parameters:
      channel - channel to read from
      channelPosition - position to read from
      dest - destination ByteBuffer to put data in
      Returns:
      total bytes read or -1 if an attempt was made to read past EOF. The method always tries to read all the bytes that will fit in the destination byte buffer.
      Throws:
      IOException
    • writeToChannel

      public static void writeToChannel(byte[] source, WritableByteChannel channel) throws IOException
      Writes part of a byte array to a WritableByteChannel
      Parameters:
      source - byte array to copy from
      channel - target WritableByteChannel
      Throws:
      IOException
    • writeToChannel

      public static void writeToChannel(byte[] source, int offset, int length, WritableByteChannel channel) throws IOException
      Writes part of a byte array to a WritableByteChannel
      Parameters:
      source - byte array to copy from
      offset - start copying from this offset
      length - how many bytes to copy
      channel - target WritableByteChannel
      Throws:
      IOException
    • writeToChannel

      public static void writeToChannel(byte[] source, FileChannel channel, long channelPosition) throws IOException
      Writes part of a byte array to a WritableByteChannel at the provided position.
      Parameters:
      source - byte array to copy from
      channel - target WritableByteChannel
      channelPosition - position to write at
      Throws:
      IOException
    • writeToChannel

      public static void writeToChannel(byte[] source, int offset, int length, FileChannel channel, long channelPosition) throws IOException
      Writes part of a byte array to a WritableByteChannel at the provided position.
      Parameters:
      source - byte array to copy from
      offset - start copying from this offset
      length - how many bytes to copy
      channel - target WritableByteChannel
      channelPosition - position to write at
      Throws:
      IOException
    • writeToChannel

      public static void writeToChannel(ByteBuffer byteBuffer, WritableByteChannel channel) throws IOException
      Parameters:
      byteBuffer - source buffer
      channel - channel to write to
      Throws:
      IOException