JAVA复制文件夹下所有内容

来源:互联网 发布:linux编译php扩展 编辑:程序博客网 时间:2024/05/16 00:44
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
原创粉丝点击