TestCopyDocuments.java

package com.sxt.parc;
/*
* 复制文件夹 包含文本 视频 音频 用字节流
*/
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream; public class TestCopyDocuments {
public static void main(String[] args) throws Exception {
copyDocuments("G:\\source.txt","G:\\dest.txt");
} public static void copyDocuments(String SourcePath, String DestPath) throws Exception {
//读入文件到程序
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(SourcePath));
//写入数据到文件
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(DestPath));
byte[] b = new byte[1024];
int len = 0;
while((len = bis.read(b)) != -1){
bos.write(b, 0, len);
}
bis.close();
bos.close();
System.out.println("复制文件完成!");
}
}

TestCopyFiles2.java

package com.sxt.parc;
/*
* 文件夹以及文件的复制
*/
import java.io.File; public class TestCopyFiles2 {
public static void main(String[] args) throws Exception {
CopyFiles("G:\\source","G:\\dest");
System.out.println("*********复制完成**************");
} private static void CopyFiles(String sourcePath, String destPath) throws Exception {
//源路径
File file = new File(sourcePath);
// String name = file.getName();
// System.out.println(name);
//检查源路径是否正确
if(!file.exists()){
System.out.println("请检查您的源路径是否合法!");
} //目标路径
File file2 = new File(destPath);
//如果目标文件夹不存在则创建
if(!file2.exists()){
file2.mkdir();//当前目录创建
} // //列出源文件夹的文件和文件夹列表准备复制
// String[] list = file.list();//String类型
// for(String doc: list){
// System.out.println(doc);
// }
//列出源文件夹的文件和文件夹列表准备复制
File[] listFiles = file.listFiles();
for(File f :listFiles){
System.out.println(f.getName());
//如果是文件夹需要在目标文件夹下创建文件夹
if(f.isDirectory()){
//关键步骤:递归
//System.out.println(f+"--------->"+destPath+"\\"+f.getName());
CopyFiles(sourcePath+"\\"+f.getName(),destPath+"\\"+f.getName());
}
//如果不是文件夹直接复制
if(f.isFile()){
//关键步骤:递归
//System.out.println(f+"--------->"+destPath+"\\"+f.getName());
TestCopyDocuments.copyDocuments(sourcePath+"\\"+f.getName(),destPath+"\\"+f.getName());
}
}
}
}

最新文章

  1. BCP导出导入大容量数据实践
  2. Linux objcopy命令
  3. Swift UICollectionView 简单使用
  4. msyql数据库位置
  5. Unity-Animator深入系列---Foot IK
  6. transform.position和transform.localPosition区别
  7. Codevs 2449 骑士精神 2005年省队选拔赛四川
  8. LabVIEW设计模式系列——普遍使用值改变事件
  9. nefu 197 关键字检索(kmp算法)
  10. nginx+gridfs+mongodb 配置访问png图片显示无法加载问题
  11. centos6.5安装rabbitmq3.6.14
  12. struts2(六)之ognl表达式与ActionContext、ValueStack
  13. LeetCode算法题-Image Smoother(Java实现)
  14. admin组件
  15. 移动web总结
  16. VUE 打包后关于 -webkit-box-orient: vertical; 消失,导致多行溢出不管用问题
  17. shadow一键安装
  18. 洛谷 P1361 小M的作物 解题报告
  19. Explaining Delegates in C# - Part 2 (Events 1)
  20. sql,去重

热门文章

  1. Django项目:CRM(客户关系管理系统)--43--35PerfectCRM实现CRM重写Admin密码修改
  2. 通过Struts2Web应用框架深入理解MVC
  3. IO流3 --- File类的常用方法2 --- 技术搬运工(尚硅谷)
  4. Django REST Framework之认证组件
  5. python 关于如何把json文件里面的多条数据删除,只保留自己需要的条目
  6. IO 性能 $ iostat -kx 2$ vmstat 2 10$ mpstat 2 10$ dstat --top-io --top-bio
  7. jquery 调用asp.net后台代码
  8. 对于MD5加密处理方式
  9. 组合数取模(lucas定理+CRT合并)(AC)
  10. POJ 1061 扩展欧几里得