Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.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 NIO将文件移动到共享位置_Java_Nio - Fatal编程技术网

Java NIO将文件移动到共享位置

Java NIO将文件移动到共享位置,java,nio,Java,Nio,在我的情况下,我需要将文件从本地文件夹复制到共享位置 Files.copy(new File("C:\\Users\\Public\\Pictures\\Sample Pictures\\Tulips.jpg").toPath(), new File("\\\10.101.1.2\\resources\\Files\\exbury\\Tulips.jpg").toPath(), java.nio.file.StandardCopyOption.REPLAC

在我的情况下,我需要将文件从本地文件夹复制到共享位置

Files.copy(new File("C:\\Users\\Public\\Pictures\\Sample Pictures\\Tulips.jpg").toPath(), new File("\\\10.101.1.2\\resources\\Files\\exbury\\Tulips.jpg").toPath(),
                    java.nio.file.StandardCopyOption.REPLACE_EXISTING);
java.nio.file.InvalidPathException:索引1处的非法字符: \.101.1.2\ZoneResources\File Share\burusoth\Tulips.jpg位于 normalize(WindowsPathParser.java:182)位于 位于的sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153) 位于的sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77) sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)位于 位于的sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255) java.io.File.toPath(File.java:2234)位于 com.zone.qv2.s2c.resultupload.TestClass.method(TestClass.java:31)位于 com.zone.qv2.s2c.resultupload.TestClass.main(TestClass.java:22)

这意味着NIO不允许在本文所述的路径前面使用
斜杠\
。在我的例子中,我必须将共享位置指定为url,url以
斜杠开始。我如何克服这个问题


有没有办法将文件从本地位置复制到共享位置?

用于UNC路径的Java字符串值为:

\\\10.101.1.2\\resources\\Files\\exbury\\Tulips.jpg

UNC路径通常采用以下形式:

\\10.101.1.2\resources\Files\exbury\Tulips.jpg  
每个斜杠
\
必须作为Java字符串中的
\
转义

结果路径的Java字符串值应为:

\\\\10.101.1.2\\resources\\Files\\exbury\\Tulips.jpg

您缺少前面的
\
字符。

使用
/
也有效,不需要转义;使用
/
的Java字符串值为:

//10.101.1.2/resources/Files/exbury/Tulips.jpg


请尝试在转义后使用与``相同的
“\\\\\”,而不是
“\\\\”
。您真的必须使用DOS路径分隔符吗?另一种“修复”方法是将网络位置绑定到“windows驱动器”@彼得:谢谢你。简单的转义错误让我很生气。@Peter除了使用DOS路径分隔符还有其他方法吗。你可以像URL一样使用
/
。这并不意味着它将自动装载UNC路径,您可以使用
/
而不是`\`。