移动文件在java中不起作用

时间:2016-08-09 08:14:44

标签: java

我在循环中尝试在加载和处理文件后移动文件...当我单独测试移动文件部分时,它可以工作但是当我一次性完成它时它不起作用。

Bellow工作正常,但也移动目录,但我只想移动文件。

package.json

我所拥有的无法使用移动部件的代码如下所示。

unpublish

上面的代码是:

  • 从源目录中获取文件
  • 将其加载到数据库中
  • 打印加载的文件名
  • 获取已加载文件的数量

以上所有工作但最后一部分是在加载后将文件移动到其他目录下方不起作用的是假设将文件移动循环的文件部分。

public class moveFiles {

    public static void main(String[] args) {
        String getFilesFrom = "D:\\show\\from";
        String destDir = "D:\\show\\to\\";

        File srcFile = new File(getFilesFrom);

        srcFile.renameTo(new File(destDir, srcFile.getName())); 

    }

}

抓挠我的头两小时任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

来自description of File.renameTo()(强调我的):

  

重命名操作可能无法从一个文件移动文件   文件系统到另一个,它可能不是原子的,也可能不是   如果具有目标抽象路径名的文件已经成功   存在。 应始终检查返回值以确保这一点   重命名操作成功

添加:

if( !child.renameTo(new File(moveFilesTo, child.getName())) )
    System.out.println("Could not move file");

或尝试使用move(Path, Path, CopyOption...)方法,因为它有更多选项(使用File.toPath())。