Я искал способ, чтобы пользователи установили мою программу как по умолчанию, чтобы открывать файлы на некоторое время и ничего не нашли. У меня есть программа, которая должна быть универсальной для Mac, Windows и Linux, поэтому я не хочу использовать метод, который работает только с одной ОС. Итак, как я могу дать пользователям возможность устанавливать Java-приложение в качестве открывателя файлов по умолчанию? Я бы использовал класс Desktop?Есть ли возможность установить приложение Java в качестве открывателя файлов по умолчанию?
ответ
Нет Java не поддерживает это. Вам нужно будет написать небольшое приложение для каждой ОС, которое вы хотите поддерживать на своем родном языке (C++, object c и т. Д.), Который просто запускает ваше приложение Java каждый раз, когда он будет открыт. Затем вы можете установить это приложение в качестве программы по умолчанию.
Он отвечает здесь на StackOverflow: Use a Java application as the Default Program for a particular file type?
ЦЕНУ ответ:
JAR-файлы, как правило, не могут быть выполнены. То есть JAR-файл не является допустимым приложением Windows. Не имеет значения, имеет ли само расширение JAR связанное с ним приложение по умолчанию, потому что «Open verb» не используется рекурсивно в других определениях «Open verb».
Вместо
- Создать партию («.BAT») файл (или небольшая EXE упаковщик), который вызывает Java (или javaw, в зависимости от обстоятельств) и использовать эту исполняемую обертку, как „Открыть с помощью“ программы , (При использовании пакетного файла будет иметь раздражающее промежуточное окно консоли.) Или
- Измените реестр, чтобы «Открытый глагол» для расширения запускал JAR через java (или javaw). В конце концов, любая форма должна выглядеть примерно так: javaw -jar TheJarFile.jar «% 1%». (Обратите внимание, что javaw является исполняемым файлом, в то время как TheJarFile.jar не является исполняемым.)
См. Java - приложение для запуска Java-приложений для использования java/javaw.
Это касается окон. Точно так же на Linux и Mac вам придется создать оболочку собственного приложения, которая откроет файл, и передаст путь файла к java-банке в качестве параметра и запустит банку.