import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /* * * 源目录 目标目录 * * * 分析: * 首先我们要获取源目录下所有的文件和子目录, * 我们可以把源目录封装成一个File对象, * 我们可以调用File类listFiles()方法, * 我们可以获取源目录下所有的文件和子目录所对应的File对象。 * 如果我们获取到的是文件 * 先在目标目录中创建该文件所对应的目录, * 进行文件的复制。 * 如果我们获取到的是子目录 * 看看子目录下面是否还有其他的文件和更深层次的子目录 * * * */ public class RecurrenceTest3 { public static void main(String[] args) throws IOException { // 源目录 File src = new File("E:\\ceshi"); // 目标目录 File dest = new File("E:\\ceshi222"); copyDir(src, dest); } public static void copyDir(File src, File dest) throws IOException { // 为了严谨起见,我们首先对源目录和目标目录进行判断,看他们到底是不是目录 if (src.isDirectory() && dest.isDirectory()) { File newDir = new File(dest, src.getName()); if (!newDir.exists()) { newDir.mkdir(); } //获取源目录下所有的文件和子目录 File[] files = src.listFiles(); for (File file : files) { if(file.isFile()) { //创建字节输入流对象 FileInputStream fis = new FileInputStream(file); //创建字节输出流对象 FileOutputStream fos = new FileOutputStream(new File(newDir,file.getName())); int len; byte[] by = new byte[1024]; while((len=fis.read(by)) != -1) { fos.write(by, 0, len); } fis.close(); fos.close(); } else if(file.isDirectory()) { copyDir(file,newDir); } } } } }
将指定目录(包含内容)复制到另一个目录中
猜你喜欢
转载自blog.csdn.net/ludadan/article/details/79947017
今日推荐
周排行