Java - 使用FileUtils和copyFileToDirectory将文件复制到另一个目录 - 不起作用 - ?

时间:2012-02-10 21:58:57

标签: java apache file fileutils

我想使用Java和apache org commons的FileUtils类将文件从一个目录复制到另一个目录。

我写了一个快速java程序来测试我的本地系统。这是代码。该文件存在,但将文件复制到另一个目录不起作用。我错过了什么?某处有不正确的语法吗?

import org.apache.commons.io.FileUtils;
import java.io.File;

class MoveFile {

    public static void main(String[] args) {
        MoveFile myobj = new MoveFile();
        myobj.moveTheFile();
    }

    public void moveTheFile () {
        try {
            File destDir = new File("C:\\Folder1\\temp2");
            File srcFile = new File("C:\\Folder1\\temp\\card.png");
            FileUtils.copyFileToDirectory(srcFile, destDir);
        } catch(Exception e) {
        }
    }

}

3 个答案:

答案 0 :(得分:10)

复制您的错误,但只有在程序没有写入目标文件夹的权限时才会失败。即使捕获一个throwable和打印堆栈跟踪也没有显示任何信息,并且该方法非常安静...如果该文件夹不存在,则该方法创建它以忽略可能的更正。

检查目标文件夹中的写入权限

答案 1 :(得分:3)

执行吞下异常绝不是一个好主意。在您的异常处理机制中执行e.printstacktrace()以获取更多信息。由于您未指定任何其他信息,因此首先要考虑的是,如果您使用的是Windows Vista或更高版本,通常在将项目直接放入C:\目录时会要求您获得管理员同意。

要查看这是否是问题,我建议您在其他目录(例如My Documents)中对此进行测试,否则请禁用UAC。

答案 2 :(得分:1)

待办事项

destDir.mkdirs();

FileUtils.forceMkdir(destDir);

首先创建目录temp2