`
Jiagoo
  • 浏览: 3280 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Channel类

    博客分类:
  • Java
阅读更多

I/O可以广义的分为两类:File I/O和Stream I/O。那么相应的就有两种类型的通道,它们是文件通道和套接字通道,在java.nio.channels包下面你会发现FileChannel类和三个socket通道类:SocketChannel、ServerSocketChannel、DatagramChannel。

通道可以有多种方式创建,Socket通道有可以直接创建新socket通道的方法,但是一个FileChannel对象只能通过一个打开的RandomAccessFile、FileInputStream和FileOutputStream对象上调用getChannel()方法来获取:

SocketChannel sc = SocketChannel.open();
sc.connect(new InetSocketAddress(host,port));

 

ServerSocketChannel ssc = ServerSocketChannel.open();
ssc.socket.bind(new InetSocketAddress(localport));
 
DatagramChannel dc = DatagramChannel.open();
 
RandomAccessFile raf = new RandomAccessFile("file","r");
FileChannel fc = raf.getChannel();

 

通道是将数据传输给ByteBuffer对象或者从ByteBuffer对象获取数据进行传输。


  • 大小: 17.5 KB
分享到:
评论

相关推荐

    Channel

    标题中的"Channel"一词在IT领域通常指的是网络编程中的通道概念,特别是在Java NIO(Non-blocking Input/...如果你对某个特定的Channel类或使用场景有疑问,或者希望了解更多关于Java NIO的细节,欢迎进一步提问。

    Netty主要使用类讲解.docx

    4. **常用Channel类** - NioDatagramChannel 用于UDP通信,NioSctpChannel 用于SCTP(流控制传输协议)客户端,NioServerSocketChannel 用于TCP服务端,NioSocketChannel 用于TCP客户端。EmbeddedChannel 则用于单元...

    EBSD分析软件——Channel5下载安装教程.zip

    **EBSD分析软件Channel5详解** EBSD(Electron Backscatter Diffraction)是一种在扫描电子显微镜(SEM)下进行材料微观结构分析的技术,它能够提供晶体取向分布信息,广泛应用于材料科学、地质学等领域。Channel 5...

    C#课程设计:基于Unity引擎的2D音乐节奏游戏分享给需要的同学

    每个Chart类包含数个Channel类,对应音符的数个“轨道”,每个轨道的读取相对独立。 每个Channel类包含一个Note类的ArrayList,用于保存该轨道的全部音符。另外还包括轨道对应的颜色,在生成时可以考虑生成对应颜色...

    NettyChannel

    - **易用性**:提供丰富的API和预定义的处理类,简化了网络编程的复杂性。 - **灵活性**:支持多种传输协议和编码解码器,方便扩展和适应不同的应用场景。 通过分析和运行`NettyServer`和相应的客户端程序,可以...

    事件驱动多线程网络框架

    Server类中包括了有一个重要的类叫做Eventlooper这个类就是对epoll的封装,要用epoll_ctl注册到epoll上的fd又被封装为Channel类,当有数据到来需要操作时,channel中的几个函数指针就指向了需要回调的函数, 这里...

    基于Python的园区网络自动化运维.pdf

    Channel类提供了如execommand()、exitstatusready()、recv_exit_status()、close()等常用方法,这些方法用于执行远程命令、获取命令执行状态、接收退出状态、关闭通道等操作。 - Transport类是在建立连接时为会话...

    port-channel测试报告

    ### Port-Channel技术详解 #### 一、Port-Channel技术的意义 Port-Channel技术是一种将多个物理接口捆绑在一起形成一个逻辑接口的技术,这样做的主要目的是为了实现带宽的增加和链路的冗余。 ##### 1. 增加带宽 ...

    JAVA中的IOCP浅析.pdf

    Java7中对IOCP有了很好的封装,程序员可以非常方便地通过封装的channel类来读写和传输数据。 IOCP模型的实现 IOCP模型的实现过程包括: 1. 创建一个完成端口(CreateIoCompletionPort); 2. 创建一个或多个工作...

    NIO学习-Java源代码分享(含netty)

    常见的Channel类有FileChannel、SocketChannel、ServerSocketChannel等。 2. **Buffer**:Buffer是NIO中的数据容器,用于临时存储数据。Buffer有固定大小,当数据读取或写入时,会改变Buffer的状态,例如position...

    nio.rar_NIO_java nio_java_nio_mina java n

    常见的Channel类包括FileChannel、SocketChannel、ServerSocketChannel等,它们分别对应文件、套接字和服务器套接字的读写操作。 2. **Buffer(缓冲区)**:Buffer是NIO中的核心组件,它用于存储数据。相比于直接...

    Java输入与输出(I、O).

    NIO的Buffer类和Channel类提供了更高效的数据传输方式。 总的来说,Java的输入输出体系结构非常丰富,涵盖了多种场景和需求。通过灵活运用这些类和接口,开发者可以实现高效、可靠的I/O操作。在实际开发中,根据...

    rss.jar 一个生成rss的jar包

    1. RSSChannel类:表示RSS的频道,包含了频道的基本信息和RSS项的列表。开发者可以通过实例化这个类,设置标题、链接、描述等属性,并添加RSS项。 2. RSSItem类:表示RSS的一个项,即一条具体的信息。开发者可以...

    PWM 11channel.zip

    源代码中可能会定义了函数或类,用于初始化PWM控制器、设置PWM通道、配置PWM频率和占空比等功能。例如,可能有如下函数: 1. `init_PWM()`: 初始化整个PWM模块,包括配置时钟分频器、选择PWM模式等。 2. `set_...

    H323协议栈结构介绍,openh323

    H323Channel类代表逻辑上的通信通道。每个通道可以承载不同类型的数据流,如音频、视频或数据。 #### 三、运行期分析 ##### 1. 侦听 应用程序启动后,会创建一个H323Listener对象来监听新的连接请求。一旦收到...

    关于Android—midi代码

    将 sequence 转化为 synthesizer,然后在合成器 synthesizer 中用 getChannels类方法得到各个通道,在 Channel 类的方法 controlChange 中可以调节音量。 2. 提取 MIDI 文件的格式信息和解码后的文件内容:显示有关...

    《jgroup in action》

    Channel类提供了创建和管理通道的方法,包括设置选项、发送和接收消息等。 #### 3.7.1 Creating a channel 创建通道(Create Channel)是使用JGroups的第一步,可以通过简单的API调用来完成。 #### 3.7.1.1 Using ...

    基于fabric-sdk-java封装的,兼容1.2.0、1.3.0、1.4.0.zip

    在SDK中,Channel类提供了创建、管理和加入通道的方法。 2. **智能合约(Smart Contract)**:智能合约是运行在Fabric网络上的程序,也称为链码。开发者可以使用Java编写智能合约,并通过SDK部署和调用这些合约。SDK...

    Open mobile api 测试规范

    Channel 类 **方法概览:** - `void close()`:关闭通道。 - `boolean isBasicChannel()`:判断是否为基本通道。 - `boolean isClosed()`:检查通道是否已关闭。 - `byte[] getSelectResponse()`:获取选择应用...

Global site tag (gtag.js) - Google Analytics