Открыть внешний файл с помощью внешней программы - PullRequest
0 голосов
/ 31 декабря 2011

Я разработчик Java и у меня новый вопрос.Я хочу открыть файл с другой программой.Я легко могу сделать это с классом java.awt.Desktop с помощью этого кода:

public static void open(File document) throws IOException {
    Desktop dt = Desktop.getDesktop();
    dt.open(document);
}

Но есть ли способ выбрать, какую программу он использует для открытия файла?Моя программа только для Ubuntu.Я хочу список со всеми обычными программами, которые могут открыть этот файл (все параметры, которые вы видите, щелкнув правой кнопкой мыши на файле).И если это исполняемый файл, он должен просто выполнить.Это возможно с Java?И если это не так, возможно ли это с C ++?

1 Ответ

0 голосов
/ 31 декабря 2011

Это возможно, но, вероятно, не так просто, как использование Desktop API, так как это, вероятно, просто вызывает xdg-open под капотом.

Поскольку Desktop API почти наверняка вызывает xdg-open под капотом (какбольшинство хорошо разработанных программ), вы можете достичь желаемого эффекта, настроив свой рабочий стол таким образом, чтобы xdg-open делал то, что вам нужно.

Если этого недостаточно, xdg-openиспользует инструменты платформы для своей работы, возвращаясь к xdg-mime.Это читает .desktop файлов.Вы, вероятно, можете сделать то же самое ...

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