【说站】java Channel是什么
2024-10-19
38
java Channel是什么
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的介绍,希望对大家有所帮助。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。
更新于:2个月前赞一波!2
相关文章
- 【说站】java反射调用指定的属性
- 【说站】java数组引用如何实现
- 【说站】java中Stream的使用流程及注意
- 【说站】java获取class实例的方式
- 【说站】java中Stream的四种创建
- 【说站】java中反射提供哪些功能
- 【说站】java中Lamdba表达式的用法整理
- 【说站】java如何自定义函数式接口
- 【说站】java方法引用是什么
- 【说站】java懒惰评估如何实现
- 【说站】java中final域的内存语义理解
- 【说站】java循环和递归的区别
- 【说站】java枚举如何实现单例
- 【说站】java中enumerate()的复制
- 【说站】java线程锁死是什么
- 【说站】java调用shell脚本的方法
- 【说站】java多线程的作用
- 【说站】java中ThreadGroup如何创建
- 【说站】java中RMI的原理分析
- 【说站】java继承中有哪些注意点
文章评论
评论问答