Tormund ha scritto:
Vorrei fare in modo di aprire un file (ad esempio un file txt) con un programma scritto in Java. L'apertura del file non deve però avvenire da codice, ma facendo tasto destro sul file, "Apri con..." e scegliendo il programma .jar. La cosa è possibile?
La associazione tra estensioni e applicazioni è una cosa altamente system-dependent, ovvero è assolutamente specifica e differente da un S.O. all'altro. E Java non ha nulla a che fare, direttamente, con questo aspetto. Java non ha alcuna API o tool per gestire queste informazioni.
Su Windows queste associazioni sono nel Registry di sistema, ti basterebbe vedere come è mappato il classico .txt -> Blocco note di Windows (o quello che hai associato) per comprendere cosa ci dovrebbe essere nel Registry per definire una tua associazione.
Su Windows è possibile gestire graficamente queste associazioni, su Windows 7: Start -> Programmi predefiniti. Ma ci sono anche comandi da linea di comando chiamati: ASSOC e FTYPE.
Ma ripeto: tutto questo non ha nulla a che fare con Java direttamente. Alla fin fine l'associazione fa avviare un eseguibile con eventuali parametri. Che poi sia java.exe/javaw.exe .... poco/nulla cambia per il sistema.