复制文件我做错了什么?

时间:2014-06-25 18:19:39

标签: java io apache-commons

所以我试图使用此处的解决方案将一个文件从一个地方复制到另一个地方: Copying files from one directory to another in Java

我的代码创建了新目录,但似乎无法找到该文件,即使landedtitlesFile指向正确的路径和文件。我总是得到我的"爆炸"如果您想知道我的程序是否到达方法的末尾,请发表评论。

感谢您的时间和耐心。

private File landedtitlesFile = new File("C:\\Program Files (x86)\\Steam\\SteamApps\\common\\Crusader Kings II\\common\\landed_titles\\landed_titles.txt");
private String modPath = "C:\\Users\\Bernard\\Documents\\Paradox Interactive\\Crusader Kings II\\mod\\viking";


public void createCopyLandedTitles(Boolean vanilla){
    if (vanilla == true) {
        File dir = new File(modPath + "\\common\\landed_titles");
        dir.mkdir();
        try{
            FileUtils.copyFile(landedtitlesFile,dir);
        }
        catch (IOException e ){
            System.out.println("blast");
        }
    }

1 个答案:

答案 0 :(得分:2)

copyFile期望第二个参数是目标文件,而不是目标目录。您需要在该目录中为其指定文件的目标名称:

FileUtils.copyFile(
    landedtitlesFile,
    new File(dir, landedtitlesFile.getName());

异常对象通常包含有关原因的一些信息。如果您使用e.printStackTrace();打印出例外(或使用throw new RuntimeException(e);将其重新放回堆栈),那么您将能够看到它的内容。