Java中移动文件或目录的方法盘点

/ Java / 没有评论 / 1624浏览

Java中移动文件或目录的方法盘点

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;

public class MoveFileTest {
    public static void main(String[] args) {
        /**
         * 方法1:移动文件或目录
         */
        File txtFile = new File("F:/file/4spaces.txt");
        File dirFile = new File("F:/file/");
        txtFile.renameTo(new File("F:/4spaces/4spaces.txt"));
        dirFile.renameTo(new File("F:/4spaces/file"));

        /**
         * 方法2:移动文件或目录
         */
        try {
            Files.move(Paths.get("F:/file/4spaces.txt"), 
                       Paths.get("F:/4spaces/4spaces.txt"), 
                       StandardCopyOption.REPLACE_EXISTING);
            Files.move(Paths.get("F:/file/"), 
                       Paths.get("F:/4spaces/file"), 
                       StandardCopyOption.REPLACE_EXISTING);
        } catch (IOException e) {
            e.printStackTrace();
        }

        /**
         * 方法3:移动文件或目录
         */
        try {
            FileUtils.moveFile(new File("F:/file/4spaces.txt"), 
                               new File("F:/4spaces/4spaces.txt"));
            FileUtils.moveDirectory(new File("F:/file/"), 
                                    new File("F:/4spaces/file"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

注意:使用时,文件流需关闭,否则提示占用。