org.apache.ignite.internal.processors.cache.persistence.file

## Class UnzipFileIO

- java.lang.Object
- - org.apache.ignite.internal.processors.cache.persistence.file.UnzipFileIO

All Implemented Interfaces:
  AutoCloseable, FileIO

    public class UnzipFileIO
    extends Object
    implements FileIO

`FileIO` that allows to work with ZIP compressed file. Doesn't allow random access and setting `FileIO.position()` backwards. Allows sequential reads including setting `FileIO.position()` forward.

### Constructor Summary

Constructors
Constructor and Description
`UnzipFileIO(File zip)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `clear()` Truncates current file to zero length and resets current file position to zero.
`void` `close()` Closes current file.
`void` `force()` Forces any updates of this file to be written to the storage device that contains it.
`MappedByteBuffer` `map(int maxWalSegmentSize)`
`long` `position()` Returns current file position.
`void` `position(long newPosition)` Sets new current file position.
`int` `read(byte[] buf, int off, int len)` Reads a up to `length` bytes from this file into the `buffer`.
`int` `read(ByteBuffer dstBuf)` Reads a sequence of bytes from this file into the `destinationBuffer`.
`int` `read(ByteBuffer dstBuf, long position)` Reads a sequence of bytes from this file into the `destinationBuffer` starting from specified file `position`.
`long` `size()` Returns current file size in bytes.
`void` `write(byte[] buf, int off, int len)` Writes `length` bytes from the `buffer` starting at offset `off` to this file.
`int` `write(ByteBuffer srcBuf)` Writes a sequence of bytes to this file from the `sourceBuffer`.
`int` `write(ByteBuffer srcBuf, long position)` Writes a sequence of bytes to this file from the `sourceBuffer` starting from specified file `position`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### UnzipFileIO

    public UnzipFileIO(File zip)
                throws IOException

Parameters:
  `zip` - Compressed file.
Throws:
  `IOException`

### Method Detail

#### position

    public long position()
                  throws IOException

Returns current file position.

Specified by:
  `position` in interface `FileIO`
Returns:
  Current file position, a non-negative integer counting the number of bytes from the beginning of the file to the current position.
Throws:
  `IOException` - If some I/O error occurs.

#### position

    public void position(long newPosition)
                  throws IOException

Sets new current file position.

Specified by:
  `position` in interface `FileIO`
Parameters:
  `newPosition` - The new position, a non-negative integer counting the number of bytes from the beginning of the file.
Throws:
  `IOException` - If some I/O error occurs.

#### read

    public int read(ByteBuffer dstBuf)
             throws IOException

Reads a sequence of bytes from this file into the `destinationBuffer`.

Specified by:
  `read` in interface `FileIO`
Parameters:
  `dstBuf` - Destination byte buffer.
Returns:
  Number of read bytes, or `-1` if the given position is greater than or equal to the file's current size
Throws:
  `IOException` - If some I/O error occurs.

#### read

    public int read(ByteBuffer dstBuf,
                    long position)
             throws IOException

Reads a sequence of bytes from this file into the `destinationBuffer` starting from specified file `position`.

Specified by:
  `read` in interface `FileIO`
Parameters:
  `dstBuf` - Destination byte buffer.
  `position` - Starting position of file.
Returns:
  Number of read bytes, possibly zero, or `-1` if the given position is greater than or equal to the file's current size
Throws:
  `IOException` - If some I/O error occurs.

#### read

    public int read(byte[] buf,
                    int off,
                    int len)
             throws IOException

Reads a up to `length` bytes from this file into the `buffer`.

Specified by:
  `read` in interface `FileIO`
Parameters:
  `buf` - Destination byte array.
  `off` - The start offset in array `b` at which the data is written.
  `len` - Maximum number of bytes read.
Returns:
  Number of read bytes.
Throws:
  `IOException` - If some I/O error occurs.

#### write

    public int write(ByteBuffer srcBuf)
              throws IOException

Writes a sequence of bytes to this file from the `sourceBuffer`.

Specified by:
  `write` in interface `FileIO`
Parameters:
  `srcBuf` - Source buffer.
Returns:
  Number of written bytes.
Throws:
  `IOException` - If some I/O error occurs.

#### write

    public int write(ByteBuffer srcBuf,
                     long position)
              throws IOException

Writes a sequence of bytes to this file from the `sourceBuffer` starting from specified file `position`

Specified by:
  `write` in interface `FileIO`
Parameters:
  `srcBuf` - Source buffer.
  `position` - Starting file position.
Returns:
  Number of written bytes.
Throws:
  `IOException` - If some I/O error occurs.

#### write

    public void write(byte[] buf,
                      int off,
                      int len)
               throws IOException

Writes `length` bytes from the `buffer` starting at offset `off` to this file.

Specified by:
  `write` in interface `FileIO`
Parameters:
  `buf` - Source byte array.
  `off` - Start offset in the `buffer`.
  `len` - Number of bytes to write.
Throws:
  `IOException` - If some I/O error occurs.

#### force

    public void force()
               throws IOException

Forces any updates of this file to be written to the storage device that contains it.

Specified by:
  `force` in interface `FileIO`
Throws:
  `IOException` - If some I/O error occurs.

#### size

    public long size()
              throws IOException

Returns current file size in bytes.

Specified by:
  `size` in interface `FileIO`
Returns:
  File size.
Throws:
  `IOException` - If some I/O error occurs.

#### clear

    public void clear()
               throws IOException

Truncates current file to zero length and resets current file position to zero.

Specified by:
  `clear` in interface `FileIO`
Throws:
  `IOException` - If some I/O error occurs.

#### map

    public MappedByteBuffer map(int maxWalSegmentSize)
                         throws IOException

Specified by:
  `map` in interface `FileIO`
Throws:
  `IOException`

#### close

    public void close()
               throws IOException

Closes current file.

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `FileIO`
Throws:
  `IOException` - If some I/O error occurs.

2018 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 2.6.0
Release Date | : July 10 2018