文章标题

来源:互联网 发布:淘宝店铺尺寸大全 编辑:程序博客网 时间:2024/06/01 11:27

package com.files;

import java.io.File;

/*
* 将一个非空多层目录剪切到另外一个盘
*/
public class CopyFile {

public static void main(String[] args) {    File src = new File("E:" + File.separator + "in");    File dest = new File("D:");    copy(src, dest);    deleteFile(src);}// 将file目录复制到file2public static void copy(File file, File file2) {    // 判断文件是否存在    if (file.exists()) {// 存在        // 判断文件是否是一个目录        if (file.isDirectory()) {// 是目录            // 将file2的文件名设置为跟file一样 在file2创建同名文件夹            String str = file.getAbsolutePath();// 获取file的路径            // 替换盘符            str = str.replace('E', 'D');            // 分割            String[] strings = str.split("\\\\");            StringBuffer sb = new StringBuffer();            for (String string : strings) {                sb = sb.append(string + "\\\\");            }            // file2的路径            String file2Path = sb.toString();            // 将file的盘符换掉            file2 = new File(file2Path);            // 创建目录            file2.mkdir();            // 遍历单层的目录或者文件            File[] files = file.listFiles();            // 遍历的是子文件            for (File file3 : files) {                copy(file3, file2.getAbsoluteFile());            }        } else {// 是文件            // 获取文件名,在file2中创建相同名字的文件            String str = file.getAbsolutePath();            str = str.replace('E', 'D');            String[] strings = str.split("\\\\");            StringBuffer sb = new StringBuffer();            for (String string : strings) {                sb = sb.append(string + "\\\\");            }            String file2Path = sb.toString();            file2 = new File(file2Path);            // 将文件复制到file2            file.renameTo(file2);        }    }}// 删除一个非空多层目录public static void deleteFile(File file) {    // 判断目录是否存在    if (file.exists()) {// 目录存在        // 判断文件是否是一个目录        if (file.isDirectory()) {// 是目录            // 遍历单层目录            File[] files = file.listFiles();            for (File f : files) {                deleteFile(f);// 递归            }            file.delete();// 删除空目录        } else {            // 是文件            file.delete();        }        deleteFile(file);    }}

}

0 0