直接上代码:

package com.zjw.file;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 文件拷贝
* @author Administrator
*
*/
public class CopyFileTest
{
public static void main(String[] args)
{
long startTime = System.currentTimeMillis();//为了看复制文件的耗时
File souFile = new File("e:/死侍2.rmvb");//准备的源文件
File tarFile = new File("e:/死侍2_copy.rmvb");//要拷贝到的文件
BufferedInputStream bis = null ;//写在外面是为了方便后面的close
BufferedOutputStream bos = null ;
try
{
FileInputStream fis = new FileInputStream(souFile);//这是字节输入流,用来读文件
bis = new BufferedInputStream(fis);//这是读的缓冲
FileOutputStream fos = new FileOutputStream(tarFile);//这是字节输出流,用来写文件
bos = new BufferedOutputStream(fos);//写文件的缓冲 byte[] tempFile = new byte[1024*1024]; //每次读的大小
int length = 0 ;
while((length = bis.read(tempFile)) != -1 )//对读返回的整数进行判断,-1表示结束
{
bos.write(tempFile, 0, length); //把读到的文件拷贝过去
} bos.flush(); //最后别忘了把里面的东西都放进去 } catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}finally
{
try
{
if(bis != null)
{
bis.close();//读结束了
bis = null ;
}
} catch (IOException e)
{
e.printStackTrace();
}
try
{
if(bos != null)
{
bos.close();//写也结束了
bos = null ;
}
} catch (IOException e)
{
e.printStackTrace();
}
}
long endTime = System.currentTimeMillis();//结束时的时间
System.out.println("耗时:" + (endTime - startTime));
}
}

结果:

耗时:3209

Java---实现文件拷贝的更多相关文章

  1. Java实现文件拷贝的4种方法.

    原文地址:http://blog.csdn.net/ta8210/article/details/2073817 使用 java 进行文件拷贝 相信很多人都会用,,不过效率上是否最好呢? 最近看了看N ...

  2. java对文件拷贝的简单操作

    package fileInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNot ...

  3. 总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇

    本文是Java IO总结系列篇的第5篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...

  4. java之 ------ 文件拷贝

    import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...

  5. java Servlet文件拷贝的模板代码

    //通过response对象获得一个输出流对象 ServletOutputStream os = response.getOutputStream(); //获得要拷贝文件的绝对路径 String r ...

  6. Java学习-045-目录中文件拷贝

    挺晚的了,直接上码.敬请各位小主参阅,若有不足之处,敬请指正,非常感谢! 目录文件拷贝源码: /** * <strong>目录拷贝</strong><br> * & ...

  7. Java IO和Java NIO在文件拷贝上的性能差异分析

    1.  在JAVA传统的IO系统中,读取磁盘文件数据的过程如下: 以FileInputStream类为例,该类有一个read(byte b[])方法,byte b[]是我们要存储读取到用户空间的缓冲区 ...

  8. (java)从零开始之--异常处理(以文件拷贝为例)

    开发过程中避免不了对异常的处理,但是异常的处理又不能乱throw 下面是简单的抛异常处理 public static void CopyFile(String souFile,String dirFi ...

  9. Java基础IO文件拷贝练习题

    /** * 编写一个程序,把指定目录下的所有的带.java文件都拷贝到另一个目录中,拷贝成功后,把后缀名是.java的改成.txt. */ 1.我们看到这个题还是用大化小的思想来做 分析:1.拷贝 & ...

  10. Java IO和Java NIO 和通道 在文件拷贝上的性能差异分析

    1.  在JAVA传统的IO系统中,读取磁盘文件数据的过程如下: 以FileInputStream类为例,该类有一个read(byte b[])方法,byte b[]是我们要存储读取到用户空间的缓冲区 ...

随机推荐

  1. Q:Linux查看进程启动服务的精确时间

    输入命令 获取进程号 #1#获取进程号ps -ef|grep java|grep 进程名#2#获取启动时间ps -p 进程号 -o lstart  展示启动时间:星期 月 日 小时:分钟:秒 年 一键 ...

  2. 同步工具-Oceanus打通mysql到Iceberg

    一.服务配置 已配置好gt_oneline_2,其它集群还需按照下面方式特殊配置 1.需要腾讯Oceanus同学在后端修改高途flink集群配置core-site.xml文件,增加如下配置.只能绑定一 ...

  3. Iceberg Spark存储过程-表治理工具

    一.简介 存储过程(Procedure)是数据库领域的概念,类似于编程语言中的方法或函数,是对实现特定操作的封装,原生的 Spark SQL 中是不支持存储过程的,Iceberg 0.11.0版本之后 ...

  4. IDEA Spring Boot项目,排查解决maven包冲突

    一.Idea安装插件 下载方式1:插件名称:maven helper 打开Idea设置,搜索安装该插件 下载方式2:https://plugins.jetbrains.com/plugin/7179- ...

  5. kvm远程管理

    列出centos7中所有的虚拟机 [root@kvm1 ~]# virsh list --all Id Name State ------------------------------------- ...

  6. 20 分钟高效掌握 cursor

    本身属于在前端小组的一次小分享,这里做个同步分享. 一.pro 权益说明 目前公司购买了 2 个 pro 月付账号,权益包括无限制 tab 补全与 ai 聊天,但每个月只有 500 个快速请求权益,如 ...

  7. Docker 持续集成部署+ELK日志相关等 完美实践

    docker(ubuntu) 卸载docker # 卸载(如有) for pkg in docker.io docker-doc docker-compose docker-compose-v2 po ...

  8. 升级 element-ui 2.15.7 后遇到 el-date-picker 警告问题

    近期把 element-ui 升级到了官网最新的 2.15.7 版本,无意间发现控制台出现了 Prop being mutated: "placement" 警告,完整警告:

  9. docker - [09] 镜像详解

    题记部分 一.镜像是什么   镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,还包含运行某个软件所需的所有内容,包括代码.运行时.库.环境变量和配置文件. 如果得到 ...

  10. Linux系列:如何调试 malloc 的底层源码

    一:背景 1. 讲故事 上一篇我们聊过 C# 调用 C 的 malloc 代码来演示heap的内存泄露问题,但要想深入研究得必须把 malloc 的实现库 libc.so 给调试起来,大家都知道在Li ...