非常简单的文件复制,两个目录都存在,得到以下消息:
代码 -
import java.nio.file.Files;
import java.nio.file.Paths;
import static java.nio.file.StandardCopyOption.*;
Files.copy(
Paths.get("/u/isciw2/reposi1/ISCIW batch/20170821-3927/packageManifest.xml"),
Paths.get(" /PXAS61/usr/lpp/ucd/V6.2.1/var/work/ISCIW batch/546b3d10-0256-4bcd-9d3c-504ca31714d5/20170821-3927/packageManifest.xml"),
REPLACE_EXISTING);
错误 - 抓到:java.nio.file.NoSuchFileException: /PXAS61/usr/lpp/ucd/V6.2.1/var/work/ISCIW 批次/ 546b3d10-0256-4bcd-9d3c-504ca31714d5 / 20170821-3927 / packageManifest.xml java.nio.file.NoSuchFileException: /PXAS61/usr/lpp/ucd/V6.2.1/var/work/ISCIW 批次/ 546b3d10-0256-4bcd-9d3c-504ca31714d5 / 20170821-3927 / packageManifest.xml 在 groovy_script_3470154301378281065.run(groovy_script_3470154301378281065.groovy:20)
答案 0 :(得分:2)
我的赌注是NoSuchFileException
被正确抛出,所以你应该仔细检查使用的路径。在第二条路径中有一些可疑的空间:
" /PXAS61/usr/lpp/ucd/V6.2.1/var/work/ISCIW batch/546b3d10-0256-4bcd-9d3c-504ca31714d5/20170821-3927/packageManifest.xml"
答案 1 :(得分:1)
在UNIX上,将路径复制并粘贴到以下命令中:
$ ls "/PXAS61/usr/lpp/ucd/V6.2.1/var/work/ISCIW batch/546b3d10-0256-4bcd-9d3c-504ca31714d5/20170821-3927/packageManifest.xml"
...确保引号和空格与Java中的完全一致。
我希望您收到错误回复,例如:
ls: cannot access /PXAS61/usr/lpp/ucd/V6.2.1/var/work/ISCIW batch/546b3d10-0256-4bcd-9d3c-504ca31714d5/20170821-3927/packageManifest.xml: No such file or directory
...在这种情况下,Java和ls
同意:此文件不存在。
现在找到实际文件,并调整ls
命令直到它没有错误。一旦它工作,您可以将正确的路径复制/粘贴到Java中。
作为捷径(假设路径的基础是正确的),您可以找到候选正确的路径,例如:
$ find /PXAS61/usr/lpp/ucd -name packageManifest.xml
......甚至,在许多系统上:
$ locate packageManifest.xml