Originariamente inviato da Harlandraka_94
Salve a tutti, avrei bisogno di poter associare un'estensione a un relativo programma con java, per esempio se la mia nuova estensione fosse ".bak" e il mio programma si chiamasse "backupgenerator.jar", vorrei poter dire al sistema operativo che il .bak deve essere lanciato come "backupgenerator.jar file.bak" ed essere aperto così dal mio programma. E' fattibile?
Java e il suo framework standard non hanno nulla "di serie" per fare questo. Perché se e come si associa una estensione ad una applicazione è una questione estremamente system-dependent.
Su Windows bisogna agire sul registry, sotto la chiave \HKEY_CLASSES_ROOT dove ci sono tantissime chiavi .estensione con vari dati sotto.
Su un altro S.O. potrebbe: a) non essere possibile o b) essere possibile in maniera radicalmente differente.

Se vuoi farlo dalla applicazione Java stessa, devi sapere il S.O. ed avere una libreria apposita (che presumibilmente fa uso di codice nativo attraverso JNI) per accedere a quella funzionalità (es. su Windows il registry).

E comunque la soluzione migliore è quella di preparare un "installer" (con tools anche free) che si occupa anche di questi aspetti.