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.| 构造器和说明 |
|---|
DefaultFileRegion(java.nio.channels.FileChannel file,
long position,
long count)
Create a new instance
|
DefaultFileRegion(java.io.File f,
long position,
long count)
Create a new instance using the given
File. |
| 限定符和类型 | 方法和说明 |
|---|---|
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.
|
long |
transfered()
Return the bytes which was transfered already
|
long |
transferTo(java.nio.channels.WritableByteChannel target,
long position)
Transfers the content of this file region to the specified channel.
|
public DefaultFileRegion(java.nio.channels.FileChannel file,
long position,
long count)
file - the FileChannel which should be transferedposition - the position from which the transfer should startcount - the number of bytes to transferpublic DefaultFileRegion(java.io.File f,
long position,
long count)
File. The File will be opened lazily or
explicitly via open().f - the File which should be transferedposition - 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 java.io.IOException
java.io.IOExceptionpublic long position()
FileRegionposition 在接口中 FileRegionpublic long count()
FileRegioncount 在接口中 FileRegionpublic long transfered()
FileRegiontransfered 在接口中 FileRegionpublic long transferTo(java.nio.channels.WritableByteChannel target,
long position)
throws java.io.IOException
FileRegiontransferTo 在接口中 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.java.io.IOExceptionprotected void deallocate()
AbstractReferenceCountedAbstractReferenceCounted.refCnt() is equals 0.deallocate 在类中 AbstractReferenceCounted