利用I/O操作复制文件和目录以及删除文件和目录

一,复制文件和目录

示例代码:

public static void main(String[] args) {

        //需要复制的文件地址
        File fi = new File("C:\\Users\\21309\\Pictures\\Screenshots");
        //需要复制到的路径地址
        File du = new File("C:\\Users\\21309\\Pictures\\Test");
        getFile(fi, du);
    }

    public static void getFile(File file, File duf) {
        //判断要复制的目标路径是否存在,不存在就创建一个
        if (!duf.exists()) {
            duf.mkdirs();
        }
        //遍历要复制的文件目录
        for (File listFile : file.listFiles()) {
            if (listFile.isDirectory()) {
                getFile(listFile, new File(duf, file.getName()));
            } else {
                //如果是文件类型,则开始复制
                if (listFile.isFile()) {
                    try (
                            FileInputStream fis = new FileInputStream(listFile);
                            FileOutputStream fos = new FileOutputStream(duf + "\\" + listFile.getName())
                    ) {
                        fis.transferTo(fos);
                    } catch (Exception e) {
                    }
                }
            }
        }
    }

二,删除文件和目录

public static void main(String[] args) {
        String path = "C:\\Users\\21309\\Pictures\\Test";
        File file = new File(path);
        del(file);
        System.out.println("删除成功");
    }

    public static void del(File src) {
        //判断给定文件是否为目录
        if (src.isDirectory()) {
            //是目录的话遍历
            for (File file : src.listFiles()) {
                //如果目录下仍有目录
                if (file.isDirectory()) {
                    //递归使用del()
                    del(file);
                } else {
                    //如果不是目录,删除文件
                    file.delete();
                }
            }
        }
        //删除目录
        src.delete();
    }

你可能感兴趣的:(JAVA案例,java,开发语言)