【问题标题】:How to open a folder path on windows and linux environment?windows和linux环境下如何打开文件夹路径?
【发布时间】:2013-03-19 14:10:43
【问题描述】:

我的应用程序中有一个功能,当用户单击按钮时,我必须打开某些文件的位置,为此我使用以下代码

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

这在 Windows 平台上运行良好,但我不确定它是否可以在 Linux 环境下运行,不幸的是我没有 Linux 环境来测试它,但我遇到了一些帖子说它可能不适用于Linux。执行此操作的另一种方法 Desktop.open,但是帖子说它也不能在 Linux 环境下工作,有没有办法 在两个平台上都实现这一点?

【问题讨论】:

  • “Desktop.open,但是帖子说它在Linux环境下也不起作用” 帖子很多。网址是什么?
  • 你在忽略我的问题吗?
  • 你应该有一个Linux环境(例如在你的机器上安装一个双启动linux&windows,或者至少在Windows下的一些VM中安装Linux,反之亦然)。不要在不了解和试验的情况下假装为 Linux 开发。

标签: java linux windows


【解决方案1】:

如果你有一个文件,那么使用 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);
}

【讨论】:

  • 感谢 TechnoCraft 回复您建议的解决方案在 windows 环境下运行良好,但我主要关心的是,同样的解决方案是否适用于 linux 环境......??
  • @DurgeshSahu:我不确定这是否适用于 linux 环境。但在这里我为你找到了链接 (stackoverflow.com/questions/8258153/…)。希望对你有帮助。
  • @TechnoCraft 确实有帮助,非常有用的帖子,谢谢。但是我如何发现 Desktop.getDesktop 依赖于一些外部库(Gnome 库,这就是帖子所说的),但由于我没有找到其他任何东西,所以我将采用这种方法,假设客户端 linux 机器将安装这些库。谢谢
【解决方案2】:
Desktop.getDektop().open(theDirectory);

更多详情请见Desktop.open(File)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-13
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多