Как сделать так, чтобы пользовательское расширение файла открывало мою Java-программу?


3

я спрашиваю, как заставить любой связанный тип файла открывать мою программу с соответствующими данными. Например, если у вас есть файл .doc, он открывает слово Microsoft с тем, что сохранено в этом файле. Я знаю, как связать расширение файла с моей программой, но он просто открывает программу из местоположения файла. Как заставить программу прочитать файл при запуске?

Ответы:


5

Вы заставляете программу принимать аргументы командной строки. Когда вы открываете что-то из Проводника, он передает имя (я) элемента (ов), по которому вы щелкнули, в качестве аргументов командной строки. Ваша программа должна принимать эти аргументы командной строки и выполнять любую необходимую обработку ... включая открытие и чтение содержимого.

В C / C ++ это аргументы argcи . В Java это аргументы в . На других языках вам придется изучить это.argvint main(int argc, char *argv[])public static void main(String[] args)


Поэтому я запускаю свой метод, используя метод загрузки файлов, где args [0] - это имя файла?

Еще одна вещь, когда я открываю программу со связанным типом файла, я получаю диалоговое окно с ошибкой под названием «Средство запуска виртуальной машины Java», в котором говорится «Возникла исключительная ситуация Java». Почему это?

1

Поскольку это Java и настольное приложение, очевидным решением будет Java Web Start .

JWS предоставляет множество привлекательных функций, включая, помимо прочего, заставки, интеграцию с рабочим столом, ассоциации файлов, автоматическое обновление (включая ленивые загрузки и программный контроль обновлений), разбиение нативных и других загрузок ресурсов по платформе, архитектуре или версии Java, конфигурации среды выполнения (минимальная версия J2SE, параметры времени выполнения, ОЗУ и т. д.), простое управление общими ресурсами с помощью расширений.

Вот демо. файловых служб, которые связывают тип .zzzс демо. Дважды щелкните такой файл, и он откроется в приложении.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.