Java: открыть папку по нажатию кнопки - PullRequest
6 голосов
/ 03 февраля 2012

В Java, как мы можем открыть отдельную папку (например, c :) для пользователя по нажатию кнопки, например, как это делает способ «найти этот файл на диске» или «открыть содержащую папку»когда мы загружаем файл и хотим знать, где он был сохранен.Цель состоит в том, чтобы сэкономить время пользователя, чтобы открыть браузер и найти файл на диске.Спасибо (изображение ниже - пример того, что делает Firefox) enter image description here

Я получил ответ: Вот что сработало для меня в 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

1 Ответ

10 голосов
/ 03 февраля 2012

Я полагаю, у вас есть файл. С 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);
    }
}

Имейте в виду, что если вы вызываете это с файлом, который не является каталогом, по крайней мере, Windows попытается открыть файл с программой по умолчанию для типа файла.

Но я не знаю, на каких платформах это поддерживается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...