1. 复制单级文件夹

    数据源:e:\\demo

    目的地:e:\\test

分析:
  A封装目录
  B获取该目录下的所有文本的File数组
  C遍历该File数组,得到每一个File对象
  D把该File进行复制

2.  代码示例:

  1. package cn.itcast_03;
  2. import java.io.BufferedInputStream;
  3. import java.io.BufferedOutputStream;
  4. import java.io.File;
  5. import java.io.FileInputStream;
  6. import java.io.FileOutputStream;
  7. import java.io.IOException;
  8. /*
  9. * 需求:复制单极文件夹
  10. *
  11. * 数据源:e:\\demo
  12. * 目的地:e:\\test
  13. *
  14. * 分析:
  15. * A:封装目录
  16. * B:获取该目录下的所有文本的File数组
  17. * C:遍历该File数组,得到每一个File对象
  18. * D:把该File进行复制
  19. */
  20. public class CopyFolderDemo {
  21. public static void main(String[] args) throws IOException {
  22. // 封装目录
  23. File srcFolder = new File("e:\\demo");
  24. // 封装目的地
  25. File destFolder = new File("e:\\test");
  26. // 如果目的地文件夹不存在,就创建
  27. if (!destFolder.exists()) {
  28. destFolder.mkdir();
  29. }
  30. // 获取该目录下的所有文本的File数组
  31. File[] fileArray = srcFolder.listFiles();
  32. // 遍历该File数组,得到每一个File对象
  33. for (File file : fileArray) {
  34. // System.out.println(file);
  35. // 数据源:e:\\demo\\e.mp3
  36. // 目的地:e:\\test\\e.mp3
  37. String name = file.getName(); // e.mp3
  38. File newFile = new File(destFolder, name); // e:\\test\\e.mp3
  39. copyFile(file, newFile);
  40. }
  41. }
  42. private static void copyFile(File file, File newFile) throws IOException {
  43. BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
  44. file));
  45. BufferedOutputStream bos = new BufferedOutputStream(
  46. new FileOutputStream(newFile));
  47. byte[] bys = new byte[1024];
  48. int len = 0;
  49. while ((len = bis.read(bys)) != -1) {
  50. bos.write(bys, 0, len);
  51. }
  52. bos.close();
  53. bis.close();
  54. }
  55. }

Java基础知识强化之IO流笔记48:IO流练习之 复制单级文件夹案例的更多相关文章

  1. Java基础知识强化之集合框架笔记48:产生10个1~20之间的随机数(要求:随机数不能重复) 简洁版

    1. 编写一个程序,获取10个1至20的随机数,要求随机数不能重复. 分析:  A: 创建随机数对象  B: 创建一个HashSet集合  C: 判断集合的长度是不是小于10    是:就创建一个随机 ...

  2. Java基础知识强化之集合框架笔记06:Collection集合存储自定义对象并遍历的案例

    1.练习:用集合存储5个学生对象,并把学生对象进行遍历. 分析: (1)创建学生类(2)创建集合对象(3)创建学生对象(4)把学生添加到集合(5)把集合转成数组(6)遍历数组 2. 代码示例: Stu ...

  3. Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介

    1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...

  4. Java基础知识强化之网络编程笔记21:Android网络通信之 Android常用OAuth登录(获取令牌信息)

    1. 首先我们去下载开发相关SDK(Android): 下载百度使用OAuth的SDK(Android),如下: 下载链接为:http://developer.baidu.com/wiki/index ...

  5. Java基础知识强化之网络编程笔记14:TCP之多个客户端上传到一个服务器的思考(多线程改进)

    1. 多个客户端上传到一个服务器的思考 通过while循环可以改进一个服务器接收多个客户端. 但是这个是有问题的.如果是这种情况,假设我还有张三,李四,王五这三个人分别执行客户端  张三:好好学习.a ...

  6. Java基础知识强化之网络编程笔记13:TCP之TCP协议上传图片并给出反馈

    1. TCP协议上传图片并给出反馈: (1)客户端: package cn.itcast_13; import java.io.BufferedInputStream; import java.io. ...

  7. Java基础知识强化之网络编程笔记12:TCP之TCP协议上传文本文件并给出反馈

    1. 客户端: package cn.itcast_12; import java.io.BufferedReader; import java.io.BufferedWriter; import j ...

  8. Java基础知识强化之网络编程笔记11:TCP之TCP协议上传文本文件

    1. TCP协议上传文本文件(客户端上传数据到服务器端) (1)客户端(上传数据到服务端) package cn.itcast_11; import java.io.BufferedReader; i ...

  9. Java基础知识强化之网络编程笔记10:TCP之客户端读取文本文件服务器控制台输出

    1. TCP之客户端读取文本文件服务器控制台输出 (1)客户端:(发送数据到服务端) package cn.itcast_10; import java.io.BufferedReader; impo ...

随机推荐

  1. char*,const char*和string的相互转换

    好久没写东西啦,发表学术文章一篇,hiahia~ 近日和小佳子编程时遇到很多转换问题,很麻烦,在网上查了很多资料. 为了以后查找方便,特此总结如下. 如果有不对的地方或者有更简单的方法,请指出~~ 1 ...

  2. 【HDOJ】1254 推箱子

    来一发搜索.数据量比较小,这么玩儿都能ac.搞个优先队列.先扫描从起点可以到达箱子的上下左右中哪些位置,并针对这些位置进行bfs.所谓推,就是箱子和人同向移动一个单位.bfs的时候注意一些限制条件就好 ...

  3. 【HDOJ】1027 Ignatius and the Princess II

    这道题目最开始完全不懂,后来百度了一下,原来是字典序.而且还是组合数学里的东西.看字典序的算法看了半天才搞清楚,自己仔细想了想,确实也是那么回事儿.对于长度为n的数组a,算法如下:(1)从右向左扫描, ...

  4. Android开发UI之给ListView设置布局动画效果

    1.通过JAVA代码添加,资源文件基本上不修改 XML文件,只添加了一个ListView,就不贴XML文件的代码了. java代码: public class MainActivity extends ...

  5. NOI2014 起床困难综合症

    3668: [Noi2014]起床困难综合症 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 225  Solved: 153[Submit][Stat ...

  6. 分享你最喜欢的技巧和提示(Xcode,Objective-C,Swift,C...等等)

    http://www.cocoachina.com/ios/20151231/14846.html 笔者分享总结如下(本篇会不定期进行更新) : Objective-C 1.让Xcode的控制台支持L ...

  7. js制作圆角按钮(兼容谷歌,ie7,ie8)

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  8. Java问题汇集(2)

    1.Error setting driver on UnpooledDataSource 具体:Exception in thread "main" org.apache.ibat ...

  9. [Tommas] UNION 和 UNION ALL 的区别

    UNION指令的目的是将两个 SQL 语句的结果合并起来.从这个角度来看,UNION跟 JOIN 有些许类似,因为这两个指令都可以由多个表格中撷取资料.UNION的一个限制是两个 SQL 语句所产生的 ...

  10. [Raobin] Ext.net在页面中以窗体的形式打开另外的页面

    public ActionResult NewPartWindow(string id, string copy, string code) { var vm = new VM(this); var ...