java - ATOMIC_MOVE 给出异常

标签 java file nio

我正在自动执行一系列操作,我们经常这样做是为了赢得一些时间。这涉及移动文件并开始一些批处理。

在这种特殊情况下,我试图将文件从一个位置复制到另一个位置。一切正常,直到我尝试使用 ATOMIC_MOVE 复制选项。这是我的代码:

private void copyToDropFolder(Datafile datafile, String company) throws IOException{
    Path datafilePath = datafile.getDataPath();  
    String dropFolder = locations.getLocationFor("default");
    Path dropPath = Paths.get(dropFolder, company.toUpperCase(),locations.getLocationFor("drop"), datafile.getFileName());
    Files.copy(datafilePath, dropPath, StandardCopyOption.ATOMIC_MOVE);
}

我已经检查并解析了datafilePath和dropPath的位置,它们都是有效的。我尝试了其他 2 个标准复制选项,程序运行良好。仅对于 ATOMIC_MOVE,我得到一个 UnsupportedOperationException。并不是我绝对需要那个特定的选项,但我很好奇为什么我不工作。我真的找不到关于此问题的任何其他报告。我正在 Windows 7 机器上执行此操作。

我错过了什么吗?或者只是不支持 ATOMIC_MOVE

最佳答案

作为 API says , ATOMIC_MOVE 不支持 copy(),但仅支持 move()

关于java - ATOMIC_MOVE 给出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17446018/

相关文章:

java - 自定义单元格编辑器行为不正确

java - dbpedia 聚光灯数据集

java - 为实体生成不可预测的随机@Id

python - pandas.read_csv 未按分号分隔符对数据进行分区

c - 在 C 文件中查找和替换

java - 使用 FileChannels 在 Java 中连接大文件的方法更有效

java - 在 Java 中,监视追加文件的最佳/最安全模式是什么?

java.lang.IllegalArgumentException : Default constructor for class com. b.de 无法访问

Linux 文件类型

java - 在 Clojure/Java 中将命令从客户端传输到服务器