zoukankan      html  css  js  c++  java
  • Java通道

    通道(Channel)是数据源和Java程序之间的开放连接,用于执行I/O操作。Channel接口在java.nio.channels包中。通道(Channel)接口只声明了两个方法:close()isOpen()

    各种渠道

    ReadableByteChannel用于使用read()方法将数据从数据源读取到字节缓冲区中。WritableByteChannel用于使用write()方法将数据从字节缓冲区写入数据宿。

    ByteChannel能够分别使用read()write()方法读取和写入字节数据。ScatteringByteChannel将数据从数据源读取到多个字节缓冲区中。 从已知的文件格式或类似的数据源读取数据是有用的,其中在一些固定长度的报头中提供数据,随后是可变长度的主体。

    GatheringByteChannel从多个字节缓冲区中写出数据。

    创建通道

    要获得一个通道,旧的方式使用java.io包中的类I/O来创建InputStreamOutputStream的对象。
    java.nio.channels包中的Channels类是一个实用程序类,它有许多静态方法将流转换为通道,反之亦然。

    Channels类还提供了将读写器转换为通道的方法,反之亦然。例如,如果有一个名为myInputStream的输入流对象,获得一个ReadableByteChannel如下:

    1
    ReadableByteChannel rbc  = Channels.newChannel(myInputStream);

    如果有一个名为rbcReadableByteChannel,可以获得如下的基本InputStream对象:

    1
    InputStream myInputStream  = Channels.newInputStream(rbc);

    FileInputStreamFileOutputStream类有一个称为getChannel()的新方法来返回一个FileChannel对象。FileChannel用于读取和写入数据到文件。从FileInputStream获取的FileChannel对象以只读模式打开。

  • 相关阅读:
    用户态和内核态
    Spring Cloud构建微服务架构:服务网关(路由配置)【Dalston版】
    为什么说分布式事务不再适用于微服务架构
    基于selenium的二次开发
    Python常用方法
    深入浅出runloader
    python socket
    python API接口测试框架
    python装饰器
    python多进程安全
  • 原文地址:https://www.cnblogs.com/hane/p/7305716.html
Copyright © 2011-2022 走看看