Ejemplo de como podemos leer un fichero .properties ubicado fuera de nuestro proyecto Java.
package configuration;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.Locale;
import java.util.ResourceBundle;
public class ConfigurationLoader {
private static final String MAGPIES = "magpies";
private static final String PATH= "path";
public Configuration loadConfiguration() throws IOException {
final ResourceBundle rb = getResourceBundle();
final Configuration config = new Configuration();
config.setMagpies(Integer.valueOf(rb.getString(MAGPIES)));
config.setPath(rb.getString(PATH));
return config;
}
private ResourceBundle getResourceBundle() throws IOException {
final URL[] urls = {new File(".").toURI().toURL()};
final ClassLoader loader = new URLClassLoader(urls);
return ResourceBundle.getBundle("general", Locale.getDefault(), loader);
}
}
Una vez generado el jar ejecutable, el fichero de propiedades se podría situar en la misma carpeta.