无法使用java将文件从一个位置移动到linux文件系统上的另一个位置

时间:2014-01-12 15:42:38

标签: java apache-commons-io

我正在尝试将文件从一个位置移动到Linux文件系统中的另一个位置。实际上我的源目录在一个文件系统上,目标目录安装在同一个文件系统上。所以使用File类的File.renameTo()方法来移动文件。但它无法移动文件。但是,当我使用相同的逻辑将文件从一个目录移动到安装在同一文件系统上的另一个目录时,它工作正常..所以我认为file.renameTo()是平台相关的。所以我正在使用其他类来移动文件。所以,现在我的选择是去org.apache.commons.io.FileUtils课。它包含诸如

之类的方法
public static void moveFile(File srcFile,File destFile) throws IOException

http://commons.apache.org/proper/commons-io/javadocs/api-release/org/apache/commons/io/FileUtils.html#moveFile%28java.io.File,%20java.io.File%29

所以我下载了commons-io-1.3版jar。它包含许多复制文件的方法但无法找到此moveFile方法。请问任何人都可以告诉我是否下载了正确的jar文件?

任何人都可以告诉我包含org.apache.commons.io.FileUtils.(File srcFile,File destFile)方法的jar。

先谢谢。

3 个答案:

答案 0 :(得分:2)

javadoc清楚地说'1.4'。

Since:
1.4

所以你不会在1.3中找到它。

答案 1 :(得分:2)

Java 1.7有一种更可靠的移动文件的方式,试试吧

java.nio.file.Files.move(Path source, Path target, CopyOption... options)

答案 2 :(得分:1)

可能对某人有帮助

Path pathobj1 = Paths.get(srcDir,filename);
Path pathobj2= Paths.get(targetDir,pathobj1.getFileName().toString());
Files.move(pathobj1 , pathobj2, REPLACE_EXISTING);

包装:

import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;