Открыть файл PDF на удаленном компьютере с локальным приложением на Java? - PullRequest
2 голосов
/ 22 июля 2011

Когда я запускаю такой код в Mac OS:

Runtime.getRuntime.exec("open  testFile.pdf");

Mac OS запускает Acrobat для открытия локального файла PDF.

Как я могу это сделать, когда файлнаходится на удаленной машине?
\\remoteHost\share\testFile.pdf

Я пытаюсь сделать это так:
Runtime.getRuntime.exec("open \\\\remoteHost\\share\\testFile.pdf");

но мне не удалось.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 22 июля 2011

Я не думаю, что можно напрямую указать путь к SMB-ресурсу при использовании команды open .Если вы хотите использовать open , вам придется смонтировать этот общий ресурс как локальный каталог.См. http://osxdaily.com/2009/09/24/access-and-mount-an-smb-share-via-command-line/ для объяснения.

Такое решение было бы довольно хрупким.Если вы хотите более надежное решение, я бы предложил использовать JCIFS (http://jcifs.samba.org/) для локальной загрузки файла, а затем использовать

Desktop.getDesktop().open(pdfFile);

, чтобы открыть загруженный файл.

0 голосов
/ 22 июля 2011

Runtime.getRuntime().exec(String) просто передает строку в операционную систему для обработки.Итак, если вы хотите выполнить команду

open \\remoteHost\share\testFile.pdf

, вам нужно передать ее в exec ().Не забудьте экранировать \ (заменить каждый \ на \\)

Runtime.getRuntime().exec("open \\\\remoteHost\\share\\testFile.pdf");

Конечно, пользователь, запустивший программу, должен иметь разрешения на удаленном компьютере.Если вам нужно установить другого пользователя, используйте параметры командной строки открытой программы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...