使用Java中的本地应用程序在远程计算机上打开PDF文件?

时间:2011-07-22 07:02:58

标签: java file

当我在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 :(得分:0)

Runtime.getRuntime().exec(String)只需将String传递给操作系统即可处理。所以,如果你想运行命令

open \\remoteHost\share\testFile.pdf

你必须将它传递给exec()。记得逃避\(将每个\替换为\\)

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

当然,运行程序的用户应该具有远程计算机的权限。如果需要设置其他用户,请使用open program命令行参数。

答案 1 :(得分:0)

我不认为在使用 open 命令时可以直接指定SMB共享的路径。如果要使用 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);

打开下载的文件。

相关问题