博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编程实现文件拷贝
阅读量:5796 次
发布时间:2019-06-18

本文共 1449 字,大约阅读时间需要 4 分钟。

面试题 - 编程实现文件拷贝。(这个题目在笔试的时候经常出现,下面的代码给出了两种实现方案)

import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;public final class Main {
private Main() { throw new AssertionError(); } /** * IO文件拷贝 * @param source 被拷贝的源文件 * @param target 拷贝出来的目的文件 * @throws IOException */ public static void fileCopy(String source, String target) throws IOException { InputStream in = new FileInputStream(source); OutputStream out = new FileOutputStream(target); byte[] buffer = new byte[4096]; int bytesToRead; while((bytesToRead = in.read(buffer)) != -1) { out.write(buffer, 0, bytesToRead); } }/** * nio实现文件拷贝 * @param source * @param target * @throws IOException */ public static void fileCopyNIO(String source, String target) throws IOException { FileInputStream in = new FileInputStream(source); FileOutputStream out = new FileOutputStream(target); FileChannel inChannel = in.getChannel(); FileChannel outChannel = out.getChannel(); ByteBuffer buffer = ByteBuffer.allocate(4096); while(inChannel.read(buffer) != -1) { buffer.flip(); outChannel.write(buffer); buffer.clear(); } }}

转载地址:http://epdfx.baihongyu.com/

你可能感兴趣的文章
JS原型,原型链
查看>>
Linux常用的命令
查看>>
美国23个州的选举计票机存在漏洞
查看>>
消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ
查看>>
keepalived高可用基础配置
查看>>
php魔术方法
查看>>
自动化运维Ansible,强大的自动化运维工具!
查看>>
MySQL高可用MHA集群
查看>>
软件版本alpha、beta、final等等这些什么意思?
查看>>
你干啥的?Lombok
查看>>
成长记录 | 说出来,写出来,做出来。
查看>>
hibernate Criteria 使用
查看>>
人工智能基础与安防深度学习
查看>>
打印杨辉三角
查看>>
Oracle全球裁员潮:云计算成趋势?
查看>>
将win共享目录挂载到linux 利用远程PHP-CGI调试本地代码
查看>>
springMVC中的<mvc:resources>的应用理解
查看>>
活动目录误删除用户恢复工具 ADRestore.exe
查看>>
Android语音识别开发详解(基于讯飞语音SDK)
查看>>
用Kibana和logstash快速搭建实时日志查询、收集与分析系统
查看>>