Ho visto alcune risposte su come caricare un file particolare all'interno di un jar tramite getResourceAsStream e posso gestirlo. Comunque sto affrontando qualcosa di veramente specifico e non sono riuscito a trovare una risposta a riguardo sul forum.Caricamento con ResourceBundle dall'interno di un jar
Ecco la configurazione:
Ho un file jar con un directory conf che contiene 2 file di proprietà messages_en_US.properties e messages_fr_FR.properties. Il modo classico per caricare tali risorse è quello di utilizzare
ResourceBundle.getBundle("messages", java.util.Locale.getDefault());
Se i file sono stati su disco, in una directory a cui fa riferimento il classpath programma, questo funziona bene. Ma non so come posso gestire combinando l'uso di ResourceBundle.getBundle e l'uso di risorse da witin in un barattolo. Infatti, poiché non riesco a vedere alcun bridge tramite getResourceAsStream (o questo implicherebbe la gestione della locale da solo per specificare l'intero nome del file di risorse, che non è molto intelligente).
Qualcuno può aiutare?
Grazie.
Dove hai quel file nel JAR? se rimane in un JAR significa che ce l'hai nel classpath e non dovresti avere problemi a caricarlo normalmente con ResourceBundle.getBundle – rascio
Ho lo stesso problema, ho una risorsa di proprietà all'interno di un file jar ma quel file jar è NON nel classpath dei programmi.Ho letto javadoc per PropertyResourceBundle e so che potrei farlo con inputstream ma inputstream significa che IO leggerà il file ogni volta e perderò la cache predefinita ResourceBundle. C'è un modo per dirigere la classe ResourceBundle per ottenere il bundle da una risorsa che è al di fuori del suo classpath? –
Anche il ResourceBundle.Control può essere implementato per la personalizzazione ma sembra eccessivo, meglio trovare i modi per inserire i file delle proprietà nel classpath. –