【问题标题】:java: Open folder on button clickjava:单击按钮时打开文件夹
【发布时间】:2012-02-26 09:24:57
【问题描述】:

在java中,我们如何在点击按钮时为用户打开一个单独的文件夹(例如c:),例如“在磁盘上定位这个文件”或“打开包含文件夹”的方式当我们下载一个文件并且我们想知道它保存在哪里时。目标是节省用户打开浏览器并在磁盘上定位文件的时间。 谢谢(下图是firefox的一个例子)

我得到了答案: 以下是在 Windows 7 中对我有用的方法:

        File foler = new File("C:\\"); // path to the directory to be opened
        Desktop desktop = null;
        if (Desktop.isDesktopSupported()) {
        desktop = Desktop.getDesktop();
        }

        try {
        desktop.open(foler);
        } catch (IOException e) {
        }

感谢@AlexS

【问题讨论】:

  • 您编辑的代码可能会抛出 NullPointerException,除非您在 if 语句保护的块内打开它。

标签: java windows api directory


【解决方案1】:

我假设你有一个文件。使用 java.awt.Desktop 你可以使用这样的东西:

public static void openContaiingFolder(File file) {
    String absoluteFilePath = file.getAbsolutePath();
    File folder = new File(absoluteFilePath.substring(0, absoluteFilePath.lastIndexOf(File.separator)));
    openFolder(folder);
}

public static void openFolder(File folder) {
    if (Desktop.isDesktopSupported()) {
        Desktop.getDesktop().open(folder);
    }
}

请注意,如果您使用非目录的 File 调用它,至少 Windows 会尝试使用该文件类型的默认程序打开该文件。

但我不知道在哪些平台上支持此功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多