可能重复的问题:
如何从Java启动给定文件的默认(本机)应用程序?
我有一个打开文件的java应用程序。在Windows上完美运行,但在Mac上不行。
问题在于我使用了Windows配置来打开它。代码如下:
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + file);
现在我的问题是,在mac中如何打开它?或者是否有另一种跨平台打开PDF的方法?
编辑:
我按以下方式创建了文件:
File folder = new File("./files");
File[] listOfFiles = folder.listFiles();
在循环中,我将它们添加到一个数组中:
fileArray.add(listOfFiles[i]);
如果我尝试使用
Desktop.getDesktop().open(file)
从该数组打开文件,它会显示找不到该文件(路径混乱因为我使用 './files'作为文件夹)。
String[]
变量的exec
,但在Windows上不使用? - MottoLowercase()
应该是toLowerCase()
,但它不允许我编辑您的帖子。此外,对于 Windows,您应该将 rundll 和其余部分分开,如下所示:"rundll32", "url.dll,FileProtocolHandler"
,因为您编写的方式会产生错误,因为没有"rundll32 url.dll,FileProtocolHandler.exe"
。 - Dreen