2013-11-21 3 views
0

Я пытаюсь создать символическую ссылку на папку на моей машине на общий диск других m/c

ie Если у меня есть «тестовая» папка в D-диске , Я хочу создать свою символическую ссылку в общей папке, скажем «\\ hjds22 \ Test». Когда я попытался с кодом ниже, он дает мне java.nio.file.AccessDeniedException.

код приведен ниже:Как создать символическую ссылку Windows (путь UNC) с Java

 Path newLink =Paths.get("\\\\hjds22\\Test\\newLink"); 
     Path target = Paths.get("D:\\test"); 
     try { 
      Files.createSymbolicLink(newLink, target); 
     } catch (IOException x) { 
      System.err.println(x); 
     } catch (UnsupportedOperationException x) { 
      // Some file systems do not support symbolic links. 
      System.err.println(x); 
     } 

Примечание: У меня есть full rights на общую папку. Я также выполнил fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1 на обоих m/c.

+0

В чем заключалось исключение? Является ли накопитель NTFS? – TJR

ответ

0

ярлыки Windows, не поддерживаются Java.

Вы должны использовать внешнюю библиотеку. Например, jShortcut, который поставляется с jni-dll.

Это работает очень хорошо, за исключением того, что dll - это 32-битная dll. И я (персональный) не смог скомпилировать его на 64 бита. Это потребует, чтобы ваше приложение запускалось с 32 бит.

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