Java—使用FileUtils和copyFileToDirectory将文件复制到另一个目录—不';t工作-?

Java—使用FileUtils和copyFileToDirectory将文件复制到另一个目录—不';t工作-?,java,apache,file,fileutils,Java,Apache,File,Fileutils,我想使用Java和ApacheOrgCommons的FileUtils类将一个文件从一个目录复制到另一个目录 我编写了一个快速java程序,在本地系统上进行测试。这是代码。文件存在,但将文件复制到另一个目录不起作用。我错过了什么?有什么不正确的语法吗 import org.apache.commons.io.FileUtils; import java.io.File; class MoveFile { public static void main(String[] args) {

我想使用Java和ApacheOrgCommons的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) {
        }
    }

}

这样做从来都不是一个好主意。有关详细信息,请在异常处理机制中执行
e.printstacktrace()
。由于您没有指定任何其他信息,首先想到的是,如果您使用的是Windows vista或更高版本,通常在将项目直接放置在
C:\
目录中时,它会征求管理员的同意

若要查看这是否是问题所在,我建议您在其他目录(如
MyDocuments
)中进行测试,或者禁用UAC。

destDir.mkdirs();


首先创建目录
temp2

复制了您的错误,并且只有当程序没有在目标文件夹上写入的权限时才会失败。即使捕捉到一个可丢弃的打印堆栈跟踪,也不会显示任何信息,而且该方法相当安静。。。如果该文件夹不存在,则该方法将创建该文件夹,从而忽略可能的更正


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

这意味着什么不起作用?有错误吗?未复制数据?初始文件是否存在?目标目录是否存在?当异常失败时,它会说什么?文件和目录都存在。没有记录任何异常。令人惊讶的是,这个问题帮助我解决了我的答案。temp2目录已经在系统上创建,因此不需要创建该目录。我忽略了目标目录变量中的一个错误-它应该是Folder1/temp/temp2。该目录具有“只读”权限,因此我更改了该权限。现在测试程序工作了。谢谢你的帮助。
FileUtils.forceMkdir(destDir);