• 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对象以只读模式打开。

  • 相关阅读:
    关于重构的一些方法
    java基础 逻辑
    java基础
    去重和数组排序
    表单验证
    JS实例5
    window.document对象
    JS实例4
    JS实例3
    JS实例2
  • 原文地址:https://www.cnblogs.com/hane/p/7305716.html
Copyright © 2020-2023  润新知