JAVA复制文件夹下所有内容
2015-11-21 10:55
507 查看
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())
//如果当前是目录的话,复制源文件夹名到目标文件夹名;
{
file = new File(file.getPath() + File.separator + lists
.getName());
file.mkdir();
copy(lists
.listFiles(),
file);//递归调用自身;
}
else
{
try
{
FileInputStream fis = new FileInputStream(lists
);
//复制源文件名到目标处;
FileOutputStream fos = new FileOutputStream(file.getPath()
+ File.separator + lists
.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();
}
}
}
}
}
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())
//如果当前是目录的话,复制源文件夹名到目标文件夹名;
{
file = new File(file.getPath() + File.separator + lists
.getName());
file.mkdir();
copy(lists
.listFiles(),
file);//递归调用自身;
}
else
{
try
{
FileInputStream fis = new FileInputStream(lists
);
//复制源文件名到目标处;
FileOutputStream fos = new FileOutputStream(file.getPath()
+ File.separator + lists
.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();
}
}
}
}
}
相关文章推荐
- java 创建线程
- 第一个JAVA程序解析
- Java 货币金额大写格式
- java正则表达式
- 记录我的java之路
- 第一个JAVA程序解析
- java创建线程的几种方法比较
- 【Java】Java之多线程
- 配置spring 项目时遇到的问题
- java反射机制学习
- java 实现RSA实现数据的私钥加密以及公钥解密
- 定时任务实现Timer, TimeTask, ScheduledExecutorService及Spring定时器
- JAVA去掉一个字符串的前后空格
- JAVA将一个字符串反向颠倒
- Java计算一个字符在另一个字符串出现的次数
- 在java中高效复制一个文件夹里面所有的内容
- javaWEB实现相册管理的简单功能
- 简单了解Java编程中线程的创建与守护线程
- You must restart adb and Eclipse的情况之一
- Spring框架的测试和ClassPathXmlApplicationContext类的简单使用