Открыть файл при помощи Java-программы, и получить Path этого файла
Что бы вопрос был понятнее, приведу аналогию:
Когда тыкаешь по txt файлу открывается блокнот с содержимым файла, если конечно не другое приложение стоит, а я как раз вместо блокнота хочу подставить свою скомпилированную* программу
*Лучше конечно с jar, но можно и с exe
Цель такова:
Сделать так, что бы при нажатии по файлу с определенным расширением (например txt), открывался JFrame с текстом из этого файла (по которому кликнули)
Создавать JFrame и читать файли по Path, я умею, но как узнать path этого файла?
Если вообще нет вариантов, то можно вот есть с bat файлом (Спасибо Akina):
Создаём где-нибудь файл, называем его myfile.myext.
Создаём где-нибудь bat-файл, называем его mybatch.bat.
Редактируем bat-файл, пишем в него:
start javaw -jar Java_Program.jar %1
ПКМ по файлу >> Открыть с помощью >> Другие приложения >> bat-файл с программой
Path будет поступать в String[] у метода main
Пример кода для проверки:
public static void main(String[] args) {
for (String string : args) {
JOptionPane.showMessageDialog(null, string);
}
JOptionPane.showMessageDialog(null, "End");
}
Ответы (1 шт):
По шагам.
- Создаём где-нибудь файл, называем его
myfile.myext. - Создаём где-нибудь батч-файл, называем его
mybatch.bat. - Редактируем батч-файл, пишем в него:
@echo Batch-file name: %0
@echo Filename: %1
pause
- Кликаем правым батоном по файлу, Открыть с помощью - Другие приложения - тычем в батч-файл. Открывается окно CMD, убеждаемся, что в нём отображается полное имя батч-файла и полное имя нашего файла. Закрываем окно.
- Двойной клик по файлу, открывается окно CMD, убеждаемся, что в нём отображается полное имя батч-файла и полное имя нашего файла. Закрываем окно.
- Идём разбираться с передачей параметров в Java-приложение.
Для справки - в реестре создаются два раздела: HKCR\.myext и HKCR\myext_auto_file. Можете их изучить... и потом удалить - за явной ненадобностью.