import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyFile
{
public static void main(String[] args)
{
String sourceFolder = "d:\\a";
//源文件夹路径;
File sourceFile = new File(sourceFolder);
String intentFolder = "f:\\a";
//目标文件夹路径;
File intentFile = null;
if(!sourceFile.exists() | !sourceFile.isDirectory())
{
System.out.println("源文件夹不存在");
}
else
{
intentFile = new File(intentFolder);
copy(sourceFile.listFiles(), intentFile);
System.out.println("文件复制成功");
}
}
private static void copy(File[] lists, File file)
{
if(!file.exists())
//检查一下file文件夹是否存在;
{
file.mkdir();
}
for(int i=0; i<lists.length; i++)
{
if(lists
.isDirectory())
//如果当前是目录的话,复制源文件夹名到目标文件夹名;
![[i] [i]](https://i-blog.csdnimg.cn/blog_migrate/ea23611721b17d53b3b2f1bb3e19c1b9.gif)
{
file = new File(file.getPath() + File.separator + lists
.getName());
![[i] [i]](https://i-blog.csdnimg.cn/blog_migrate/ea23611721b17d53b3b2f1bb3e19c1b9.gif)
file.mkdir();
copy(lists
.listFiles(), file);
//递归调用自身;
![[i] [i]](https://i-blog.csdnimg.cn/blog_migrate/ea23611721b17d53b3b2f1bb3e19c1b9.gif)
}
else
{
try
{
FileInputStream fis = new FileInputStream(lists
);
![[i] [i]](https://i-blog.csdnimg.cn/blog_migrate/ea23611721b17d53b3b2f1bb3e19c1b9.gif)
//复制源文件名到目标处;
FileOutputStream fos = new FileOutputStream(file.getPath()
+ File.separator + lists
.getName());
![[i] [i]](https://i-blog.csdnimg.cn/blog_migrate/ea23611721b17d53b3b2f1bb3e19c1b9.gif)
try
{
int in = fis.read();
while(in != -1)
//复制文件内容;
{
fos.write(in);
in = fis.read();
}
fis.close();
//关闭输出流;
fos.close();
//关闭输入流;
} catch (IOException e)
{
e.printStackTrace();
}
} catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
}
}
}