JAVA递归调用 复制文件夹及子文件夹及文件夹下的文件
来源:互联网 发布:c语言string类型 编辑:程序博客网 时间:2024/04/30 22:21
import java.io.*;
import java.util.*;
/**
*复制文件
*by lecky.lee
*2006-06-08
*/
public class CopyFile
{
String intiPathOut;
//初始输出路径
int cnt=0;
//计数器,用于判定是否首次调用copyFiles方法
public void copyFiles(String pathIn,String pathOut) throws IOException
{
File f= new File(pathIn);
if(!f.exists()){
System.out.println ("源文件路径不存在");
System.exit(5);
}
if(cnt==0){
File out = new File(this.intiPathOut);
out.mkdir();
//首次调用执行,创建初始输出目录
}
if(f.isFile()){
this.copyFile(f,pathOut);
}
else{
this.copyDir(f,pathOut);
}
cnt++;
}
public void copyDir(File f,String pathOut) throws IOException{
System.out.println(f.getPath());
pathOut=this.intiPathOut+f.getPath().substring(2);
//修改输出路径字符串,将子文件夹相对路径追加至初始输出路径
//substring用于去掉路径中的驱动器盘符
File dir = new File(pathOut);
dir.mkdir();
File temp[]=f.listFiles();
for(int i=0;i this.copyFiles(temp[i].toString(),pathOut);
//递归调用此方法
}
}
public void copyFile(File f,String pathOut) throws IOException{
System.out.println(f.getPath());
DataInputStream in = new DataInputStream(
new BufferedInputStream(
new FileInputStream(f.getPath())));
byte[] date = new byte[in.available()];
in.read(date);
DataOutputStream out = new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream(pathOut+"/"+f.getName())));
out.write(date);
in.close();
out.close();
}
public static void main(String[] args) throws IOException
{
CopyFile cp = new CopyFile();
cp.intiPathOut="D:/11111111";
cp.copyFiles("D:/lecky","D:/11111111");
System.out.println ("复制完毕");
}
}
import java.util.*;
/**
*复制文件
*by lecky.lee
*2006-06-08
*/
public class CopyFile
{
String intiPathOut;
//初始输出路径
int cnt=0;
//计数器,用于判定是否首次调用copyFiles方法
public void copyFiles(String pathIn,String pathOut) throws IOException
{
File f= new File(pathIn);
if(!f.exists()){
System.out.println ("源文件路径不存在");
System.exit(5);
}
if(cnt==0){
File out = new File(this.intiPathOut);
out.mkdir();
//首次调用执行,创建初始输出目录
}
if(f.isFile()){
this.copyFile(f,pathOut);
}
else{
this.copyDir(f,pathOut);
}
cnt++;
}
public void copyDir(File f,String pathOut) throws IOException{
System.out.println(f.getPath());
pathOut=this.intiPathOut+f.getPath().substring(2);
//修改输出路径字符串,将子文件夹相对路径追加至初始输出路径
//substring用于去掉路径中的驱动器盘符
File dir = new File(pathOut);
dir.mkdir();
File temp[]=f.listFiles();
for(int i=0;i this.copyFiles(temp[i].toString(),pathOut);
//递归调用此方法
}
}
public void copyFile(File f,String pathOut) throws IOException{
System.out.println(f.getPath());
DataInputStream in = new DataInputStream(
new BufferedInputStream(
new FileInputStream(f.getPath())));
byte[] date = new byte[in.available()];
in.read(date);
DataOutputStream out = new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream(pathOut+"/"+f.getName())));
out.write(date);
in.close();
out.close();
}
public static void main(String[] args) throws IOException
{
CopyFile cp = new CopyFile();
cp.intiPathOut="D:/11111111";
cp.copyFiles("D:/lecky","D:/11111111");
System.out.println ("复制完毕");
}
}
0 0
- JAVA递归调用 复制文件夹及子文件夹及文件夹下的文件
- C# 递归复制文件夹及文件夹目录下的文件
- java递归复制文件及文件夹
- Java复制文件夹及子文件
- Java:复制文件夹及子文件
- java递归删除文件夹及文件夹下所有的子文件夹
- 使用java递归实现文件及文件夹的复制
- 将指定文件夹下文件及子文件夹下的文件复制到同一级目录
- 递归方式遍历文件夹下的所有文件及子文件夹 [php]
- 遍历文件夹及子文件夹下的文件
- 遍历文件夹下的子文件夹及文件
- 复制文件及文件夹
- EXCEL-VBA:递归遍历文件夹及子文件夹中的文件
- linux copy 复制文件夹及子文件夹
- Java复制文件及复制文件夹
- 递归调用删除文件夹及文件夹下所有内容
- 复制整个文件夹下的文件(无限递归复制子文件夹)
- php复制文件夹及文件夹下所有文件
- DSP6000的几个简单优化技巧
- 数字信号处理的学习资源
- SVN clearup提示Path is not a working copy directory
- 北大"小师妹"走红 网友赞许预备役校花
- 实拍草根模特的一天 饮食不规律常被性骚扰(图)
- JAVA递归调用 复制文件夹及子文件夹及文件夹下的文件
- 孙杨国歌门事件掀中日骂战 日本国歌有多难听你知道吗?
- 锋菲被曝复合内幕 谢霆锋为“复合”精心部署
- 王祖贤素颜现身疑整形 明星整容前后对比照惨不忍睹
- 世界最长油条现身武汉 达3.72米 (图)
- 21世纪报系总编和总经理被带走
- Java递归搜索指定文件夹下的匹配文件
- 哈尔滨妇女权益条例新规:赚钱不给老婆花也算家暴(图)
- 中华藏獒王"嘉玛"首例纯种藏獒克隆项目成功