public class ChunkedNioFile extends java.lang.Object implements ChunkedInput<ByteBuf>
ChunkedInput ,使用NIO FileChannel通过块从文件块中提取数据。
如果您的操作系统支持zero-copy file transfer,例如sendfile() ,则可能需要使用FileRegion 。
| Constructor and Description |
|---|
ChunkedNioFile(java.io.File in)
创建一个从指定文件中提取数据的新实例。
|
ChunkedNioFile(java.nio.channels.FileChannel in)
创建一个从指定文件中提取数据的新实例。
|
ChunkedNioFile(java.nio.channels.FileChannel in, int chunkSize)
创建一个从指定文件中提取数据的新实例。
|
ChunkedNioFile(java.nio.channels.FileChannel in, long offset, long length, int chunkSize)
创建一个从指定文件中提取数据的新实例。
|
ChunkedNioFile(java.io.File in, int chunkSize)
创建一个从指定文件中提取数据的新实例。
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
释放与输入相关的资源。
|
long |
currentOffset()
返回当前正在进行传输的文件中的偏移量。
|
long |
endOffset()
返回传输将结束的文件中的偏移量。
|
boolean |
isEndOfInput()
返回
true当且仅当数据流中没有剩余数据且数据流已达到其结尾时。
|
long |
length()
返回输入的长度。
|
long |
progress()
返回当前传输进度。
|
ByteBuf |
readChunk(ByteBufAllocator allocator)
从流中获取分块的数据。
|
ByteBuf |
readChunk(ChannelHandlerContext ctx)
已过时。
|
long |
startOffset()
返回传输开始的文件中的偏移量。
|
public ChunkedNioFile(java.io.File in)
throws java.io.IOException
java.io.IOException
public ChunkedNioFile(java.io.File in,
int chunkSize)
throws java.io.IOException
chunkSize - 每个
readChunk(ChannelHandlerContext)调用中要获取的字节数
java.io.IOException
public ChunkedNioFile(java.nio.channels.FileChannel in)
throws java.io.IOException
java.io.IOException
public ChunkedNioFile(java.nio.channels.FileChannel in,
int chunkSize)
throws java.io.IOException
chunkSize - 每个
readChunk(ChannelHandlerContext)调用中要获取的字节数
java.io.IOException
public ChunkedNioFile(java.nio.channels.FileChannel in,
long offset,
long length,
int chunkSize)
throws java.io.IOException
offset - 传输开始的文件的偏移量
length - 要传输的字节数
chunkSize - 每个
readChunk(ChannelHandlerContext)调用中要获取的字节数
java.io.IOException
public long startOffset()
public long endOffset()
public long currentOffset()
public boolean isEndOfInput()
throws java.lang.Exception
ChunkedInput复制的描述
true当且仅当数据流中没有剩余数据且数据流已达到其结尾时。
isEndOfInput在界面
ChunkedInput<ByteBuf>
java.lang.Exception
public void close()
throws java.lang.Exception
ChunkedInput复制的描述
close在界面
ChunkedInput<ByteBuf>
java.lang.Exception
@Deprecated public ByteBuf readChunk(ChannelHandlerContext ctx) throws java.lang.Exception
readChunk在界面
ChunkedInput<ByteBuf>
ctx -它提供了一个上下文ByteBufAllocator如果缓冲区分配是必要的。
null如果流中没有剩余数据。
请注意, null并不一定意味着该流已达到其结尾。
在缓慢的流中,下一个块可能暂时不可用。
java.lang.Exception
public ByteBuf readChunk(ByteBufAllocator allocator) throws java.lang.Exception
ChunkedInput复制的描述
ChunkedInput.isEndOfInput()调用都必须返回true 。
readChunk在界面
ChunkedInput<ByteBuf>
allocator - ByteBufAllocator如果缓冲区分配是必要的。
null如果数据流中没有剩余数据。
请注意, null并不一定意味着该流已到达结尾。
在缓慢的流中,下一个块可能暂时不可用。
java.lang.Exception
public long length()
ChunkedInput复制的描述
length在界面
ChunkedInput<ByteBuf>
public long progress()
ChunkedInput复制的描述
progress ,界面
ChunkedInput<ByteBuf>
Copyright © 2008–2018 The Netty Project. All rights reserved.