2013-12-19 97 views
0

我正在尝试编写一个将代码从源文件复制到目标文件的函数。java.io.FileNotFoundException--未找到文件

copyCode("D:/rraina_IN-L0124_173"+fileName.substring(1), oldTempFile);

这是我的函数调用。

String oldTempFile = "D:/rraina_IN-L0124_173/temp/Old_" + fileName;

这是oldTempFile这是目标。

这是函数。

private static void copyCode(String src, String destination) throws IOException { 
     FileChannel src1 = new FileInputStream(new File(src)).getChannel(); 
     FileChannel dest1 = new FileOutputStream(new File(destination)).getChannel(); 
     dest1.transferFrom(src1, 0, src1.size()); 
     src1.close(); 
     dest1.close(); 
    } 

然而,当我运行它,我得到的错误:

为失败 文件:/gatherer/gather/main/scripts/HartfordRetirement.javajava.io.FileNotFoundException: d:\ rraina_IN -L0124_173 \ TEMP \ Old_HartfordRetirement.java(系统 找不到指定的路径)

+1

检查名称为Old_HartfordRetirement.java的文件存在于目录D:\ rraina_IN-L0124_173 \ temp \ ??中检查文件名称的拼写 – AJJ

回答

1

检查该文件的存在,

File file = new File(destination); 
boolean isFileExists = file.exists(); 
System.out.println(isFileExists); // this should return true if the file is present 

检查与名称Old_HartfordRetirement.java的文件出现在目录d:\ rraina_IN-L0124_173 \文件名的拼写TEMP \检查

0

你应该检查你想使用的文件夹中的所有脑干他们和源文件。 使用此代码:

private static void copyCode(String src, String destination) throws IOException { 
    File srcFile = new File(src); 

    if (srcFile.exist()) { 
     File destFile = new File(destination); 
     File destFileParent = destFile.getParentFile(); 
     if (!destFileParent.exist()) destFileParent.mkdirs(); 

     FileChannel src1 = new FileInputStream(srcFile).getChannel(); 
     FileChannel dest1 = new FileOutputStream(destFile)).getChannel(); 
     dest1.transferFrom(src1, 0, src1.size()); 
     src1.close(); 
     dest1.close(); 
    } 
} 
0

在你的方法调用,源参数丢失一个文件分隔符。

copyCode("D:/rraina_IN-L0124_173/"+fileName.substring(1), oldTempFile); 

此外,我会建议检查fileName.substring(1)的值是否返回正确的文件名。