Groovy Documentation

## org.vertx.groovy.core.file
[Groovy] Class AsyncFile

    java.lang.Object
      org.vertx.groovy.core.file.AsyncFile

    class AsyncFile

Represents a file on the file-system which can be read from, or written to asynchronously.

Methods also exist to get a ReadStream or a org.vertx.java.core.streams.WriteStream on the file. This allows the data to be pumped to and from other streams, e.g. an HttpClientRequest instance, using the Pump class

Instances of this class are not thread-safe

Authors:
  Tim Fox

Constructor Summary
`AsyncFile(JAsyncFile jFile)`

Method Summary
`void` | `close()` Close the file.
`void` | `close(groovy.lang.Closure handler)` Close the file.
`void` | `flush()` Flush any writes made to this file to underlying persistent storage.
`void` | `flush(groovy.lang.Closure handler)` Same as flush but the handler will be called when the flush is complete or an error occurs
`ReadStream` | `getReadStream()` Return a ReadStream instance operating on this `AsyncFile`.
`WriteStream` | `getWriteStream()` Return a WriteStream instance operating on this `AsyncFile`.
`void` | `read(Buffer buffer, int offset, int position, int length, groovy.lang.Closure handler)` Reads `length` bytes of data from the file at position `position` in the file, asynchronously.
`void` | `write(Buffer buffer, int position, groovy.lang.Closure handler)` Write a Buffer to the file at position `position` in the file, asynchronously.

Methods inherited from class java.lang.Object
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()

Constructor Detail

### AsyncFile

    AsyncFile(JAsyncFile jFile)

Method Detail

### close

    void close()

  Close the file. The actual close happens asynchronously.

### close

    void close(groovy.lang.Closure handler)

  Close the file. The actual close happens asynchronously. The handler will be called when the close is complete, or an error occurs.

### flush

    void flush()

  Flush any writes made to this file to underlying persistent storage.

  If the file was opened with `flush` set to `true` then calling this method will have no effect.

  The actual flush will happen asynchronously.

### flush

    void flush(groovy.lang.Closure handler)

  Same as flush but the handler will be called when the flush is complete or an error occurs
  Parameters:
    handler

### getReadStream

    ReadStream getReadStream()

  Return a ReadStream instance operating on this `AsyncFile`.

### getWriteStream

    WriteStream getWriteStream()

  Return a WriteStream instance operating on this `AsyncFile`.

### read

    void read(Buffer buffer, int offset, int position, int length, groovy.lang.Closure handler)

  Reads `length` bytes of data from the file at position `position` in the file, asynchronously. The read data will be written into the specified `Buffer buffer` at position `offset`.

  The index `position + length` must lie within the confines of the file.

  When multiple reads are invoked on the same file there are no guarantees as to order in which those reads actually occur.

  The handler will be called when the close is complete, or if an error occurs.

### write

    void write(Buffer buffer, int position, groovy.lang.Closure handler)

  Write a Buffer to the file at position `position` in the file, asynchronously. If `position` lies outside of the current size of the file, the file will be enlarged to encompass it.

  When multiple writes are invoked on the same file there are no guarantees as to order in which those writes actually occur.

  The handler will be called when the close is complete, or an error occurs.

Groovy Documentation