2015-08-27 6 views
2

В моем случае мне нужно скопировать файл из локальной папки в общую папку.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.REPLACE_EXISTING); 

java.nio.file.InvalidPathException: Illegal символ <> по индексу 1: \ .101.1.2 \ ZoneResources \ File Share \ burusoth \ Tulips.jpg в sun.nio.fs. WindowsPathParser.normalize (WindowsPathParser.java:182) на sun.nio.fs.WindowsPathParser.parse (WindowsPathParser.java:153) на sun.nio.fs.WindowsPathParser.parse (WindowsPathParser.java:77) на ВС. nio.fs.WindowsPath.parse (WindowsPath.java:94) в sun.nio.fs.WindowsFileSystem.getPath (WindowsFileSystem.java:255) в java.io.File.toPath (File.java:22 34) при com.zone.qv2.s2c.resultupload.TestClass.method (TestClass.java:31) при com.zone.qv2.s2c.resultupload.TestClass.main (TestClass.java:22)

Это означает, что NIO не разрешает slashes \ перед дорогой, как указано в этом question. В моем случае я должен указать общее местоположение в качестве URL-адреса, который начинается с slashes. Как я могу решить эту проблему?

Есть способы копирования файлов с локального местоположения в общую папку?

+0

Вместо ' "\\\"' 'попробовать" \\\\ ", который является таким же, как' \\ 'после экранирования. Вам действительно нужно использовать разделители пути DOS? –

+0

Другой способ «исправить» - это привязать сетевое расположение к «Windows-диску». http://www.sevenforums.com/tutorials/49517-map-network-drive.html –

+0

@Peter спасибо. простая ошибка побега заставила меня сойти с ума. – Burusothman

ответ

0

Значение Строка Java используется для пути UNC является:

\\\ 10.101.1.2 \\ ресурсы \\ Files \\ \\ Exbury Tulips.jpg

UNC путь обычно принимает форму:

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

Каждый slashe \ должны быть экранированы, как \\ в Java String.

Значение Java Строка результирующего пути должно быть:

\\\\ 10.101.1.2 \\ ресурсы \\ Files \\ Exbury \\ Tulips.jpg

You отсутствуют предшествующие \.

Использование / также работает и не нуждается в спасении; значение Строка Java с использованием / является:

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

Смежные вопросы