📌  相关文章
📜  使用Java将文件从一个目录移动到另一个目录(1)

📅  最后修改于: 2023-12-03 15:22:18.891000             🧑  作者: Mango

使用Java将文件从一个目录移动到另一个目录

在Java中,可以使用java.io.File类操作文件和文件夹。文件的操作包括创建、读写、重命名、删除、复制和移动等。

移动文件

移动文件可以采用两种方式:renameTo()方法和复制+删除的方式。

方法一:使用renameTo()方法

renameTo()方法可以重命名或移动文件,当目标文件夹已经存在相同文件名的文件时,会覆盖原文件。

// 源文件路径
File source = new File("C:\\data\\demo\\example.txt");

// 目标文件夹路径
File destDir = new File("C:\\data\\backup\\");

// 移动文件
if(source.renameTo(new File(destDir, source.getName()))) {
    System.out.println("文件移动成功。");
} else {
    System.out.println("文件移动失败。");
}

方法二:使用复制+删除的方式

可以先复制文件到目标文件夹,然后再删除源文件。

// 源文件路径
File source = new File("C:\\data\\demo\\example.txt");

// 目标文件夹路径
File destDir = new File("C:\\data\\backup\\");

// 目标文件路径
File destFile = new File(destDir, source.getName());

try {
    // 复制文件到目标文件夹
    Files.copy(source.toPath(), destFile.toPath());
    System.out.println("文件复制成功。");

    // 删除源文件
    if(source.delete()) {
        System.out.println("文件删除成功。");
    } else {
        System.out.println("文件删除失败。");
    }
} catch(IOException e) {
    e.printStackTrace();
}
完整代码
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;

public class FileMoveDemo {
    public static void main(String[] args) {
        // 源文件路径
        File source = new File("C:\\data\\demo\\example.txt");

        // 目标文件夹路径
        File destDir = new File("C:\\data\\backup\\");

        // 方法一:使用renameTo()方法
        /*
        if(source.renameTo(new File(destDir, source.getName()))) {
            System.out.println("文件移动成功。");
        } else {
            System.out.println("文件移动失败。");
        }
        */

        // 方法二:使用复制+删除的方式
        File destFile = new File(destDir, source.getName());

        try {
            // 复制文件到目标文件夹
            Files.copy(source.toPath(), destFile.toPath());
            System.out.println("文件复制成功。");

            // 删除源文件
            if(source.delete()) {
                System.out.println("文件删除成功。");
            } else {
                System.out.println("文件删除失败。");
            }
        } catch(IOException e) {
            e.printStackTrace();
        }
    }
}
总结

本文介绍了两种方式使用Java将文件从一个目录移动到另一个目录,即renameTo()方法和复制+删除的方式。需要注意的是,当目标文件夹已经存在相同文件名的文件时,renameTo()方法会覆盖原文件,而复制+删除的方式需要手动删除源文件。