AsynchronousSocketChannel

public abstract <A> void read(ByteBuffer dst,
                              long timeout,
                              TimeUnit unit,
                              A attachment,
                              CompletionHandler<Integer,? super A> handler)

从通道中读取字节序列到指定的ByteBuffer

该方法启动异步读取操作,以从该通道读取到给定缓冲区的字节序列。 处理程序参数是在读操作完成(或失败)时调用的完成处理程序。 传递给完成处理程序的结果是读取的字节数,如果没有字节可以读取,则返回-1,因为通道已达到流出尾。

如果指定了一个超时,并且在操作完成之前超时,则操作将以异常InterruptedByTimeoutException完成。 在发生超时的情况下,实现不能保证字节未被读取,或者不会从通道读入给定的缓冲区,所以进一步尝试从通道中读取将导致抛出非特定的运行时异常。

否则,此方法的工作方式与AsynchronousByteChannel.read(ByteBuffer,Object,CompletionHandler)方法相同。

101918_tEAI_3613710.png

http://bugsee.cn/JDK8/java/nio/channels/AsynchronousSocketChannel.html#read-java.nio.ByteBuffer-long-java.util.concurrent.TimeUnit-A-java.nio.channels.CompletionHandler-

转载于:https://my.oschina.net/u/3613710/blog/1527359

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值