第一种方法(输入输出流):

    public  void copyFile(File fromFile,File toFile) throws Exception{FileInputStream in=new FileInputStream(fromFile);FileOutputStream out=new FileOutputStream(toFile);byte[] buffer=new byte[1024];while((in.read(buffer))!=-1){out.write(buffer, 0, buffer.length);}in.close();out.flush();out.close();}

第二种方法(文件通道):

    public  void fileCopy( File in, File out )  throws IOException  {FileChannel inChannel=new FileInputStream(in).getChannel();//得到对应的文件通道FileChannel outChannel=new FileOutputStream(out).getChannel();//得到对应的文件通道try{//inChannel.transferTo(0, inChannel.size(), outChannel);      // original -- apparently has trouble copying large files on Windows  // magic number for Windows, 64Mb - 32Kb)  int maxCount=(64*1024*1024)-(32*1024);long size=inChannel.size();long position=0;while(position<size){position+=inChannel.transferTo(position, maxCount, outChannel);//连接两个通道,并且从in通道读取,然后写入out通道
            }}finally {if ( inChannel != null )  {  inChannel.close();  }  if ( outChannel != null )  {  outChannel.close();  }  }}

对比:

FileChannel复制文件的速度比输入输出流方式复制文件的速度快。在复制大文件的时候更加体现出FileChannel的速度优势。而且FileChannel是多并发线程安全的。

转载于:https://www.cnblogs.com/coder9527/p/6606656.html

Java程序片:Java复制文件相关推荐

  1. 把Java程序打包成jar文件包并执行

    把Java程序打包成jar文件包并执行 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建的是java Project 打包步骤: ...

  2. 如何把一个java程序打包成exe文件,运行在没有java虚

    如何把一个java程序打包成exe文件,运行在没有java虚 核心提示:首先,将编译好的程序打包成jar文件,然后做出exe,这样代码就不可见了:但是exe文件在没有安装jre的电脑上不能运行,如果要 ...

  3. java 程序包jar_把Java程序打包成jar文件包并执行

    把Java程序打包成jar文件包并执行 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建的是java Project 打包步骤: ...

  4. java打包成jar_把Java程序打包成jar文件包并执行的方法

    本文介绍了把Java程序打包成jar文件包并执行的方法,分享给大家,具体如下: 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建 ...

  5. java 程序打包成jar_把Java程序打包成jar文件包并执行的方法

    本文介绍了把Java程序打包成jar文件包并执行的方法,分享给大家,具体如下: 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建 ...

  6. 怎么把java源代码封装,如何把JAVA程序封装成EXE文件

    如何把JAVA程序封装成EXE文件 可以把普通的Java程序做成真正的exe,也就是单一个exe就可以在没有安装JVM的机器上运行.这样的工具常见的有JET和gcj.前者是收费的,而且做出来的exe还 ...

  7. [Java]使用jConsole导出java程序的heap dump文件

    [Java]使用jConsole导出Java程序heap dump文件 Heap dump文件存储着在该文件生成时,Java程序的所有未被回收的Objects的信息.通过使用MAT工具,可以揪出内存泄 ...

  8. 我的第一个Java程序和Java简介

    public calss HelloWorld{public static void main(String[] args){System.out.println("Hello World! ...

  9. Java基础(一) —— JDK安装、第一个Java程序、Java数据类型、修饰符、运算符、循环、条件

    Java基础(一) Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年 ...

  10. 第一个java程序的错误_我是一名java初学者,执行第一个java程序welcome.java出现了以下错误,这是为什么?...

    我是一名java初学者,执行第一个java程序welcome.java出现了以下错误,这是为什么? welcome.java: import javax.swing.*; public class w ...

最新文章

  1. centos 7 jenkins githup测试
  2. python的time库有哪些方法_Python的time模块中的常用方法整理
  3. Curator selector
  4. linkedlist(c语言_简单实现)
  5. 15个实用的管理mysql的MySQLadmin命令
  6. c++ 之 template函数模板
  7. 揭秘ASP.NET 2.0之Page.Eval
  8. STM32 HAL库 时钟芯片RX8025T IIC的读写操作,入过的坑
  9. android网页抓取,手把手教学 Android 使用 jsoup 抓取网页数据
  10. vue3 - 23.h函数 / 函数式编程
  11. 青海省国家湿地公园功能区划数数据、全国湿地沼泽分布数据、全国省市县自然保护区
  12. 普通u盘linux不识别,Linux识别不了u盘怎么办
  13. 《数字逻辑与计算机设计基础》
  14. nltk学习之统计词频和分词nltk.word_tokenize nltk.FreqDist
  15. tplink android管理软件,tplink路由器app下载
  16. JAVA中d.x=7是什么意思_JVM配置参数之(-D、-X、-XX的区别)
  17. 【JTeam Champion NFT】NFT交易必备的四个工具
  18. Linux下的回收站trash
  19. 大数据和精准投放是广告行业的一场变革
  20. tensorflow 滑动平均模型 ExponentialMovingAverage

热门文章

  1. 从一道面试题谈起,大厂到底看重程序员的什么能力?
  2. 在Spring事务管理下,Synchronized为啥还线程不安全?
  3. 这波操作,会把你的中间件架构带到另一个Level
  4. 农村黑产,才是真正的硬核朋克!
  5. 从平台到中台 | Elaticsearch 在蚂蚁金服的实践经验
  6. 到底是Java好还是Python好?
  7. 【Python】青少年蓝桥杯_每日一题_5.21_画扇子
  8. 数据结构-深度优先遍历和广度优先遍历(漫画)
  9. 中标麒麟桌面版yum安装mysql_中标麒麟Neokylin6桌面版如何本地yum安装软件
  10. 计算机组成原理怎么考察的,计算机组成原理课程考察报告(论文).doc