Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.netty.handler.stream
Class ChunkedFile

    java.lang.Object
      org.jboss.netty.handler.stream.ChunkedFile

All Implemented Interfaces:
  ChunkedInput

    public class ChunkedFile

extends Object
implements ChunkedInput

A `ChunkedInput` that fetches data from a file chunk by chunk.

If your operating system supports zero-copy file transfer such as `sendfile()`, you might want to use `FileRegion` instead.

Version:
  $Rev: 2243 $, $Date: 2010-04-16 14:01:55 +0900 (Fri, 16 Apr 2010) $
Author:
  The Netty Project, Trustin Lee

Constructor Summary
`ChunkedFile(File file)` Creates a new instance that fetches data from the specified file.
`ChunkedFile(File file, int chunkSize)` Creates a new instance that fetches data from the specified file.
`ChunkedFile(RandomAccessFile file)` Creates a new instance that fetches data from the specified file.
`ChunkedFile(RandomAccessFile file, int chunkSize)` Creates a new instance that fetches data from the specified file.
`ChunkedFile(RandomAccessFile file, long offset, long length, int chunkSize)` Creates a new instance that fetches data from the specified file.

Method Summary
`void` | `close()` Releases the resources associated with the stream.
`long` | `getCurrentOffset()` Returns the offset in the file where the transfer is happening currently.
`long` | `getEndOffset()` Returns the offset in the file where the transfer will end.
`long` | `getStartOffset()` Returns the offset in the file where the transfer began.
`boolean` | `hasNextChunk()` Returns `true` if and only if there is any data left in the stream.
`boolean` | `isEndOfInput()` Return `true` if and only if there is no data left in the stream and the stream has reached at its end.
`Object` | `nextChunk()` Fetches a chunked data from the stream.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ChunkedFile

    public ChunkedFile(File file)
                throws IOException

  Creates a new instance that fetches data from the specified file.

  Throws:
    `IOException`

### ChunkedFile

    public ChunkedFile(File file,
                       int chunkSize)
                throws IOException

  Creates a new instance that fetches data from the specified file.

  Parameters:
    `chunkSize` - the number of bytes to fetch on each `nextChunk()` call
  Throws:
    `IOException`

### ChunkedFile

    public ChunkedFile(RandomAccessFile file)
                throws IOException

  Creates a new instance that fetches data from the specified file.

  Throws:
    `IOException`

### ChunkedFile

    public ChunkedFile(RandomAccessFile file,
                       int chunkSize)
                throws IOException

  Creates a new instance that fetches data from the specified file.

  Parameters:
    `chunkSize` - the number of bytes to fetch on each `nextChunk()` call
  Throws:
    `IOException`

### ChunkedFile

    public ChunkedFile(RandomAccessFile file,
                       long offset,
                       long length,
                       int chunkSize)
                throws IOException

  Creates a new instance that fetches data from the specified file.

  Parameters:
    `offset` - the offset of the file where the transfer begins
    `length` - the number of bytes to transfer
    `chunkSize` - the number of bytes to fetch on each `nextChunk()` call
  Throws:
    `IOException`

Method Detail

### getStartOffset

    public long getStartOffset()

  Returns the offset in the file where the transfer began.

### getEndOffset

    public long getEndOffset()

  Returns the offset in the file where the transfer will end.

### getCurrentOffset

    public long getCurrentOffset()

  Returns the offset in the file where the transfer is happening currently.

### hasNextChunk

    public boolean hasNextChunk()
                         throws Exception

  Description copied from interface: `ChunkedInput`
  Returns `true` if and only if there is any data left in the stream. Please note that `false` does not necessarily mean that the stream has reached at its end. In a slow stream, the next chunk might be unavailable just momentarily.

  Specified by:
    `hasNextChunk` in interface `ChunkedInput`
  Throws:
    `Exception`

### isEndOfInput

    public boolean isEndOfInput()
                         throws Exception

  Description copied from interface: `ChunkedInput`
  Return `true` if and only if there is no data left in the stream and the stream has reached at its end.

  Specified by:
    `isEndOfInput` in interface `ChunkedInput`
  Throws:
    `Exception`

### close

    public void close()
               throws Exception

  Description copied from interface: `ChunkedInput`
  Releases the resources associated with the stream.

  Specified by:
    `close` in interface `ChunkedInput`
  Throws:
    `Exception`

### nextChunk

    public Object nextChunk()
                     throws Exception

  Description copied from interface: `ChunkedInput`
  Fetches a chunked data from the stream. The returned chunk is usually a `ChannelBuffer`, but you could extend an existing implementation to convert the `ChannelBuffer` into a different type that your handler or encoder understands.

  Specified by:
    `nextChunk` in interface `ChunkedInput`
  Returns:
    the fetched chunk, which is usually `ChannelBuffer`. `null` if there is no data left in the stream. Please note that `null` does not necessarily mean that the stream has reached at its end. In a slow stream, the next chunk might be unavailable just momentarily.
  Throws:
    `Exception`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008-2010 JBoss, a division of Red Hat, Inc.. All Rights Reserved.