NIO通过Channel复制文件
2022/4/17 6:21:33
本文主要是介绍NIO通过Channel复制文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 public static void main(String[] args) throws IOException { 2 //创建RandomAccessFile源文件 3 RandomAccessFile rabsrc = new RandomAccessFile("mm.png","rw"); 4 //获取源文件的Channel 5 FileChannel srcChannel = rabsrc.getChannel(); 6 //目标文件 7 RandomAccessFile radTarget = new RandomAccessFile("D:\\download\\java\\mm.png","rw"); 8 //生成目标文件的Channel通道 9 FileChannel fc = radTarget.getChannel(); 10 //调用transferTo 11 assert false; 12 long transferTo = srcChannel.transferTo(0,srcChannel.size(),fc); 13 if(transferTo >0){ 14 System.out.println("复制成功"); 15 } 16 rabsrc.close(); 17 srcChannel.close(); 18 radTarget.close(); 19 fc.close(); 20 }
区别 | Stream | Channel |
支持异步 | 不支持 | 支持 |
是否可双向传输数据 | 不能,只能单向 | 可以,既可以从通道读取数据,也可以向通道写入数据 |
是否结合Buffer使用 | 不能 | 必须结合Buffer使用 |
性能 | 较低 | 较高 |
这篇关于NIO通过Channel复制文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01UniApp 中组件的生命周期是多少-icode9专业技术文章分享
- 2024-11-01如何使用Svg Sprite Icon简化网页图标管理
- 2024-10-31Excel数据导出课程:新手从入门到精通的实用教程
- 2024-10-31Excel数据导入课程:新手入门指南
- 2024-10-31RBAC的权限课程:新手入门教程
- 2024-10-31Svg Sprite Icon课程:新手入门必备指南
- 2024-10-31怎么配置 L2TP 允许多用户连接-icode9专业技术文章分享
- 2024-10-31怎么在FreeBSD上 安装 OpenResty-icode9专业技术文章分享
- 2024-10-31运行 modprobe l2tp_ppp 时收到“module not found”消息提醒是什么-icode9专业技术文章分享
- 2024-10-31FreeBSD的下载命令有哪些-icode9专业技术文章分享