繁体   English   中英

java.nio.file无法复制文件

[英]java.nio.file can not copy files

非常简单的文件复制,两个目录都存在,得到以下消息:

码 -

  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 batch / 546b3d10-0256-4bcd-9d3c-504ca31714d5 / 20170821-3927 / packageManifest.xml java.nio.file.NoSuchFileException:/PXAS61/usr/lpp/ucd/V6.2.1/var/work/ISCIW batch / 546b3d10-0256-4bcd-9d3c-504ca31714d5 / 20170821-3927 / packageManifest.xml at groovy_script_3470154301378281065.run( groovy_script_3470154301378281065.groovy:20)

我的赌注是正确抛出NoSuchFileException ,所以你应该仔细检查使用的路径。 在第二条路径中有一些可疑的空间:

 " /PXAS61/usr/lpp/ucd/V6.2.1/var/work/ISCIW  batch/546b3d10-0256-4bcd-9d3c-504ca31714d5/20170821-3927/packageManifest.xml"

在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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM