在Java中移动一个文件

x33g5p2x  于2022-10-06 转载在 Java  
字(1.6k)|赞(0)|评价(0)|浏览(604)

在这个快速教程中,我们将学习在Java中移动一个文件的不同方法。

1. 使用File.renameTo()方法移动文件

  1. 在 "C:/workspace "目录下创建一个名为 "sample.txt "的文件。
  2. 通过传递文件的绝对位置路径 "C:/workspace/sample.txt "创建文件类对象。
  3. 我们需要将新的抽象路径名传递给renameTo()方法来移动文件。
  4. renameTo()方法返回true,当且仅当重命名成功;false,否则。
  5. 观察目录中的文件是否被移动。
import java.io.File;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * This Java program demonstrates how to move file in Java.
 * @author javaguides.net
 */

public class MoveFileExample {

    private static final Logger LOGGER = LoggerFactory.getLogger(MoveFileExample.class);

    public static void main(String[] args) {
        moveFile();
    }

    public static void moveFile() {
        File file = new File("C:/workspace/sample.txt");
        boolean move = file.renameTo(new File("C:/workspace/moved/sample.txt"));
        if (move) {
            LOGGER.info("File is moved successful!");
        } else {
            LOGGER.info("File is failed to move!");
        }
    }
}

2. 使用Files.move()方法移动文件

java.nio.file.Files提供了几个静态方法,对文件、目录或其他类型的文件进行操作。要将一个文件移动到一个目标文件,我们可以使用它的move()方法。这个实现是独立于平台的,但是如果文件属性没有被复制,它也不会失败。Javadoc保证只有最后的修改时间被复制到新文件中。

这个方法接收要移动的文件的路径,目标文件的路径,以及一个可选的参数来指定如何进行移动。默认情况下,如果目标文件已经存在,则移动失败,除非指定了REPLACE_EXISTING选项。如果源文件和目标文件是相同的文件,该方法完成后不会移动文件。如果源文件或目标目录不存在,会抛出java.nio.file.NoSuchFileException

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
 
public class Main
{
    public static void main(String[] args)
    {
        File from = new File("src.txt");
        File to = new File("dest.txt");
 
        try {
            Files.move(from.toPath(), to.toPath(), StandardCopyOption.REPLACE_EXISTING);
            System.out.println("File moved successfully.");
        }
        catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

相关文章

微信公众号

最新文章

更多