关闭

JAVA复制文件夹下所有内容

164人阅读 评论(0) 收藏 举报
分类:
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[i].isDirectory())     //如果当前是目录的话,复制源文件夹名到目标文件夹名;
{
file = new File(file.getPath() + File.separator + lists[i].getName());
file.mkdir();
copy(lists[i].listFiles(), file);//递归调用自身;
}
else
{
try 
{
FileInputStream fis = new FileInputStream(lists[i]);
                                        //复制源文件名到目标处;
FileOutputStream fos = new FileOutputStream(file.getPath()   
+ File.separator + lists[i].getName());
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();
}
}
}
}
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:110284次
    • 积分:2518
    • 等级:
    • 排名:第15200名
    • 原创:142篇
    • 转载:44篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论