Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我复制两个空路径时会发生什么,为什么';它不会抛出异常吗?_Java_File_Path_Filesystems_Copy - Fatal编程技术网

Java 当我复制两个空路径时会发生什么,为什么';它不会抛出异常吗?

Java 当我复制两个空路径时会发生什么,为什么';它不会抛出异常吗?,java,file,path,filesystems,copy,Java,File,Path,Filesystems,Copy,我真的很想知道这段代码的作用是什么: scala> import java.nio.file._ import java.nio.file._ scala> Files.copy(Paths.get(""), Paths.get("")) res0: java.nio.file.Path = 这不应该抛出一个NoSuchFileException 阅读以下文章: 默认情况下,如果目标文件已存在或是一个 符号链接,除非源和目标是同一文件,否则 在这种情况下,方法在不复制文件的情况

我真的很想知道这段代码的作用是什么:

scala> import java.nio.file._
import java.nio.file._

scala> Files.copy(Paths.get(""), Paths.get(""))
res0: java.nio.file.Path = 
这不应该抛出一个
NoSuchFileException

阅读以下文章:

默认情况下,如果目标文件已存在或是一个 符号链接,除非源和目标是同一文件,否则 在这种情况下,方法在不复制文件的情况下完成

但我不确定这是否是真正的原因,因为
文件.copy(path.get(“a”)、path.get(“a”))
按预期失败。

您可能需要检查path.get在提供空字符串(它生成空路径)时的作用,以及有关空路径含义的详细信息:

如果路径仅由一个路径组成,则该路径被视为空路径 名称为空的元素。使用空路径访问文件是错误的 相当于访问文件系统的默认目录

因此,您的代码似乎获得了一个有效的空路径,然后认为源和目标是相同的。

您可能需要检查路径。get在提供空字符串(它生成空路径)时会执行哪些操作,以及有关空路径含义的详细信息:

如果路径仅由一个路径组成,则该路径被视为空路径 名称为空的元素。使用空路径访问文件是错误的 相当于访问文件系统的默认目录


因此,您的代码似乎得到了一个有效的空路径,然后认为源和目标是相同的。

问题不是Scala特有的。我只是用它来展示代码和交互。问题不是Scala特有的。我只是用它来显示代码和交互。当它复制一个目录时,它会创建一个空目录,就像链接提到的文档一样。因此,实际上,它在
dest
中创建了一个空目录。不幸的是,我不是一个伟大的java专家。我只是浏览了一下文档,如果它先比较两个拷贝参数,看看它们是否相同,然后再做一些开销大得多的事情,比如查看文件系统,我也不会感到惊讶。我只是想,如果它在
dest
中创建了一个空目录,它会返回指向该目录的路径,并且该路径不会为空。当它复制目录时,它会创建一个空目录,就像链接的文档中提到的那样。因此,实际上,它在
dest
中创建了一个空目录。不幸的是,我不是一个伟大的java专家。我只是浏览了一下文档,如果它先比较两个拷贝参数,看看它们是否相同,然后再做一些开销大得多的事情,比如查看文件系统,我也不会感到惊讶。我只是认为,如果它在
dest
中创建了一个空目录,它将返回指向该目录的路径,并且该路径不会为空。