2013-03-19 138 views
0

我在我的应用程序中的功能在那里我有当用户点击一个按钮,打开某些文件的位置,对于这个我使用下面的代码位如何在windows和linux环境下打开文件夹路径?

new ProcessBuilder("explorer.exe",folderPath).start(); 

这适用于Windows的罚款平台,但我不确定它是否能够在Linux环境下工作,但不幸的是我没有Linux环境来测试相同的内容,但我偶然发现一些文章称它可能无法在Linux上运行。另一种方式来做到这一点,使用 Desktop.open,但发布说,它也不能在Linux环境下工作,有没有办法在 这两个平台上实现?

+1

*“Desktop.open,但后说,这还不算在Linux环境下” *有是很多职位。什么是URL? – 2013-03-19 05:48:41

+0

你忽略我的问题吗? – 2013-03-19 06:10:55

+1

您应该有一个Linux环境(例如,在您的计算机上安装双引导Linux和Windows,或者至少在Windows下的某个VM上安装Linux,反之亦然)。如果不知道并试验它,不要假装为Linux开发。 – 2013-03-19 07:44:45

回答

5

如果你有一个文件,然后用的java.awt.Desktop你可以使用这样的事情:

File myfile = new File("/tmp/test.txt"); 
String path = myFile.getAbsolutePath(); 
File dir = new File(path).getParentFile(); 
if (Desktop.isDesktopSupported()) { 
    Desktop.getDesktop().open(dir); 
} 
+1

尼斯编辑..,+1 – 2013-03-19 05:49:19

+0

感谢TechnoCraft回复你建议的解决方案,在Windows环境下工作正常,但我主要关心的是,是否相同的工作在Linux环境或不。 – 2013-03-19 05:52:30

+1

@DurgeshSahu:我不确定在linux环境下工作是否一样。但在这里,我找到了链接(http://stackoverflow.com/questions/8258153/how-to-get-desktop-class-supported-under-linux)给你。希望它可以帮助你。 – 2013-03-19 05:55:54

4
Desktop.getDektop().open(theDirectory); 

有关更多详细信息,请参见Desktop.open(File)

相关问题