案例:文件复制(针对InputStream和OutputStream的操作应用)

流程图(比较复杂我就不敲了,直接拍出来)

例:实现文件复制操作

package Project.Study.FileCopyCase;import java.io.*;public class Test {public static void main(String[]args)throws Exception{long start=System.currentTimeMillis();if (args.length!=2){System.out.println("命令执行错误!");System.exit(1);}//如果输入参数正确,应该进行源文件有效性的检验File inFile=new File(args[0]);if (!inFile.exists()){System.out.println("源文件不存在,请确认执行路径。");System.exit(1);}//如果此时源文件正确,就需要定义输出文件,同时要考虑到输出文件有目录File outFile=new File(args[1]);if (!outFile.getParentFile().exists()){ //输出文件路径不存在outFile.getParentFile().mkdirs();   //创建目录}//实现文件内容的复制,分别定义输出流与输入流对象InputStream input=new FileInputStream(inFile);OutputStream output=new FileOutputStream(outFile);int temp=0;                     //保存每次读取的数据长度byte[]data=new byte[1024];      //每次读取1024个字节//将每次读取进来的数据保存在字节数组里面,并且返回读取个数while((temp=input.read(data))!=-1){ //循环读取数据output.write(data,0,temp);  //输出数组}input.close();                      //关闭输入流output.close();                     //关闭输出流long end=System.currentTimeMillis();//取得操作时间System.out.println("复制所花费的时间:"+(end-start));}
}
//复制所花费的时间:34

结果:

注意:这段代码在IDEA中输入文件路径的方式有点不一样
一.点击这里

二.往Program arguments这里输入你想要复制的文件路径和复制完成后的文件存放路径(两者间应该用一个空格隔开)

Java学习总结:44(文件复制案例)相关推荐

  1. java调用CMD完成文件复制

    java调用CMD完成文件复制 最近突然又想起文件的复制操作,感觉用流的方式操作还是不免有些费劲,所以试着在程序中结合cmd的方式处理,非常之方便,效率很快,大家不妨试试哦. package util ...

  2. Java学习笔记:文件通道(FileChannel)

    文章目录 一.文件通道 (一)概述 (二)继承关系 (三)常用方法 二.案例演示 1.创建Java项目 - FileChannelDemo 2.创建FileChannelDemo类 (1)编写test ...

  3. JAVA File方法各类文件复制操作

    import java.io.*;public class AllFile {public static void main(String[] args) throws Exception {//若使 ...

  4. Java学习---流与文件

    实验10  流与文件操作 一.实验目的 理解和掌握JAVA程序中实现输入/输出的技术和有关的类与方法. 二.实验要求 掌握File类常用的方法 掌握标准数据流及Scanner类的应用. 掌握文件输入输 ...

  5. 6.6(java学习笔记)文件分割(IO综合例子)

    基本思路: 文件分割:将一个文件分割成若干个独立的文件.    设置分割后小文件文件的字节数,然后读取被分割文件, 将对应的字节数写入分割后的小文件中.     使用seek定位下一次读取位置. 文件 ...

  6. java学习5:公告管理案例

    公告管理案例 需求: --公告的添加和显示 --在指定位置处插入公告 --删除公告 --修改公告 类: --公告属性:编号id,标题 tile,创建人 creator , 创建时间 create Ti ...

  7. Java学习之while循环及案例

    一.基本知识 1.在程序设计中,我们发现有时需要反复地执行一段相同的代码,这时就需要循环来实现了.Java中提供了4种循环结构:while循环.do-while循环.for循环.曾强的for循环. 2 ...

  8. Java学习之移动文件(转)

    //文件原地址 File oldFile = new File("c:/test.xls"); //文件新(目标)地址 String newPath = "c:/test ...

  9. java学习(44):引用参数传递

    //引用参数传递 class test13 { public void seeBook(Book book){ System.out.println("我正在看书,信息如下 "); ...

最新文章

  1. 【HDOJ】4343 Interval query
  2. Java 中文转拼音
  3. 42 Ansible配置
  4. Java---中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
  5. git 拉新项目_git上拉取项目
  6. SQL获取刚插入的记录的自动增长列ID的值
  7. matlab计算每个细胞面积,手把手教你用 Imaris 计算细胞面积
  8. octave中的一些基本操作
  9. mysql 完整性概念_mysql基础知识
  10. 监听是否到达页面滑动的可视区域最底部
  11. 作为刚開始学习的人应该怎样来学习FPGA
  12. GNS3最新版安装教程
  13. proxmox VE 4.4 增加USB 重定向功能
  14. Ubuntu下vscode配置OpenGL(使用glfw+glad)
  15. 魔戒显示网络错误 或者服务器停机,指环王安装和运行过程中的常见问题及解决办法(汇总)...
  16. tornado, twister, cyclone,Typhoon,hurricane…到底如何区别?
  17. 使用枚举实现英文转盲文
  18. 计算机状态oxcoooooe9,电脑蓝屏后开机显示状态Oxcoooooe9
  19. JAVA三年经验面试题总结
  20. 海尔微型计算机U盘启动,海尔台式电脑如何设置u盘启动_海尔台式电脑bios设置u盘启动教程...

热门文章

  1. 最精简写法→去掉任意多个空行
  2. Ubuntu 14.04 64bit上安装LNMP环境
  3. Go 分布式学习利器(16) -- go中可复用的package构建
  4. awk2.0 — awk分隔符
  5. Echo团队Alpha冲刺随笔 - 第九天
  6. 梦断代码阅读笔记03
  7. Bootstrap笔记
  8. insert语句让我学会的两个MySQL函数
  9. [转载]SSH框架搭建详细图文教程
  10. 史上最浅显易懂的Git教程!