java中Channel是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
常用的java框架有哪些
1.SpringMVC,Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架。2.Shiro,Apache Shiro是Java的一个安全框架。3.Mybatis,MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。4.Dubbo,Dubbo是一个分布式服务框架。5.Maven,Maven是个项目管理和构建自动化工具。6.RabbitMQ,RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。7.Ehcache,EhCache 是一个纯Java的进程内缓存框架。
1、说明
Channel是一个可以通过它读写数据的对象。它可以被视为IO中的流。但与流相比,它有一些不同:
Channel是双向的,可以读也可以写,流是单向的。
Channel可以异步读写。
Channel的读写必须通过buffer对象。
2、实例
利用通道和非直接缓冲区完成。
FileInputStream fis=null; //引用FileOutputStream fout=null;FileChannel channel=null; //通道引用FileChannel outchannel=null;try {fis = new FileInputStream("sb.jpg"); //源文件fout = new FileOutputStream("bb.jpg"); //目标文件 channel = fis.getChannel(); //获取连接源文件的通道outchannel = fout.getChannel(); //获取连接目标文件的通道//指定缓冲区 非直接缓冲区ByteBuffer buffer=ByteBuffer.allocate(1024); //创建缓冲区 用来传输数据while(channel.read(buffer)!=-1) //从连接源文件的管道读取数据到缓冲区{//将缓冲区反转buffer.flip();outchannel.write(buffer); //将缓冲区中的数据写入连接到目标文件的管道buffer.clear(); //"清空"缓冲区}
看完上述内容,你们掌握java中Channel是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!