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 ("复制完毕");
}
}