java实现递归复制文件
2015-12-23 15:57
127 查看
今天写文件的读写,想起来如果要复制文件夹怎么办?在借鉴别人的代码基础上写出来这个程序。
<pre name="code" class="java">package com.ftx.copyfile; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; /** * * @author FTX * */ public class Test { public static boolean fileCopy(String src, String des) { File srcFile = new File(src); File desFile = new File(des); byte[] p = new byte[1024]; String str = ""; try { FileInputStream fis = new FileInputStream(srcFile); FileOutputStream fos = new FileOutputStream(desFile); int i; while ((i = fis.read(p))>-1) {//必须大于-1,不是大于0 fos.write(p);//文件的复制 } fos.close(); fis.close(); return true; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } public static boolean folderCopy(String src, String des) { File srcFile=new File(src); File desFile=new File(des); File[]files=srcFile.listFiles(); boolean flag=false; if(!desFile.exists())desFile.mkdir(); for(int i=0;i<files.length;i++) { String path=files[i].getAbsolutePath(); if(files[i].isDirectory()){ File newFile=new File(path.replace(src, des)); if(!newFile.exists())newFile.mkdir(); folderCopy(path,path.replace(src, des));//递归调用 } else flag=fileCopy(path,path.replace(src, des)); } return flag; } public static void main(String[] args) { folderCopy("E:\\1", "F:\\1"); } }
相关文章推荐
- win8下使用eclipse进行hadoop2.6.2开发
- [JAVA]定时任务之-Quartz使用篇
- 异常管理 - Java异常处理分析 (Unchecked Exception VS Checked Exception)
- Java调用ffmpeg工具生成视频缩略图实例
- java多线程问题总结
- Java获取电脑IP,MAC,各种版本
- java 线程池
- java正则表达式——判断日期格式
- Java [Leetcode 226]Invert Binary Tree
- spring MVC 中AJAX 请求 get 与 post
- java去除字符串中的空格、回车、换行符、制表符
- java获取本地网卡信息
- weka[1]-导入eclipse并加载数据集
- Spring学习基础知识
- 米老师讲课 ITOO4.1 ——Java(2)
- JAVA中常见的Exception
- 异常管理 - try-catch-finally异常信息丢失
- javase--day_01
- javase--day_01
- java 获取绝对路径去除路径的%空格问题