public class DefaultFileRegion extends AbstractReferenceCounted implements FileRegion
FileRegion implementation which transfer data from a FileChannel or File.
Be aware that the FileChannel will be automatically closed once AbstractReferenceCounted.refCnt() returns
0.| Constructor and Description |
|---|
DefaultFileRegion(FileChannel fileChannel,
long position,
long count)
Create a new instance
|
DefaultFileRegion(File file,
long position,
long count)
Create a new instance using the given
File. |
| Modifier and Type | Method and Description |
|---|---|
long |
count()
Returns the number of bytes to transfer.
|
protected void |
deallocate()
Called once
AbstractReferenceCounted.refCnt() is equals 0. |
boolean |
isOpen()
Returns
true if the FileRegion has a open file-descriptor |
void |
open()
Explicitly open the underlying file-descriptor if not done yet.
|
long |
position()
Returns the offset in the file where the transfer began.
|
FileRegion |
retain()
Increases the reference count by
1. |
FileRegion |
retain(int increment)
Increases the reference count by the specified
increment. |
FileRegion |
touch()
Records the current access location of this object for debugging purposes.
|
FileRegion |
touch(Object hint)
Records the current access location of this object with an additional arbitrary information for debugging
purposes.
|
long |
transfered()
Deprecated.
|
long |
transferred()
Returns the bytes which was transferred already.
|
long |
transferTo(WritableByteChannel target,
long position)
Transfers the content of this file region to the specified channel.
|
refCnt, release, release, setRefCntclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrefCnt, release, releasepublic DefaultFileRegion(FileChannel fileChannel, long position, long count)
fileChannel - the FileChannel which should be transferredposition - the position from which the transfer should startcount - the number of bytes to transferpublic DefaultFileRegion(File file, long position, long count)
File. The File will be opened lazily or
explicitly via open().file - the File which should be transferredposition - the position from which the transfer should startcount - the number of bytes to transferpublic boolean isOpen()
true if the FileRegion has a open file-descriptorpublic void open()
throws IOException
IOExceptionpublic long position()
FileRegionposition in interface FileRegionpublic long count()
FileRegioncount in interface FileRegion@Deprecated public long transfered()
FileRegiontransfered in interface FileRegionpublic long transferred()
FileRegiontransferred in interface FileRegionpublic long transferTo(WritableByteChannel target, long position) throws IOException
FileRegiontransferTo in interface FileRegiontarget - the destination of the transferposition - the relative offset of the file where the transfer
begins from. For example, 0 will make the
transfer start from FileRegion.position()th byte and
FileRegion.count() - 1 will make the last
byte of the region transferred.IOExceptionprotected void deallocate()
AbstractReferenceCountedAbstractReferenceCounted.refCnt() is equals 0.deallocate in class AbstractReferenceCountedpublic FileRegion retain()
ReferenceCounted1.retain in interface FileRegionretain in interface ReferenceCountedretain in class AbstractReferenceCountedpublic FileRegion retain(int increment)
ReferenceCountedincrement.retain in interface FileRegionretain in interface ReferenceCountedretain in class AbstractReferenceCountedpublic FileRegion touch()
ReferenceCountedResourceLeakDetector. This method is a shortcut to touch(null).touch in interface FileRegiontouch in interface ReferenceCountedtouch in class AbstractReferenceCountedpublic FileRegion touch(Object hint)
ReferenceCountedResourceLeakDetector.touch in interface FileRegiontouch in interface ReferenceCountedCopyright © 2008–2025 The Netty Project. All rights reserved.