Hiii ... Quiero obtener el contenido del archivo de propiedades en el objeto de clase InputStream utilizando getSystemResourceAsStream(). Construí el código de muestra. Funciona bien con el método main(), pero cuando despliego el proyecto y lo ejecuto en el servidor, no se puede obtener la ruta del archivo de propiedades ... así que el valor nulo del almacén de objetos inputstream.getSystemResourceAsStream() devuelve nulo
Código de la muestra es aquí ..
public class ReadPropertyFromFile {
public static Logger logger = Logger.getLogger(ReadPropertyFromFile.class);
public static String readProperty(String fileName, String propertyName) {
String value = null;
try {
//fileName = "api.properties";
//propertyName = "api_loginid";
System.out.println("11111111...In the read proprty file.....");
// ClassLoader loader = ClassLoader.getSystemClassLoader();
InputStream inStream = ClassLoader.getSystemResourceAsStream(fileName);
System.out.println("In the read proprty file.....");
System.out.println("File Name :" + fileName);
System.out.println("instream = "+inStream);
Properties prop = new Properties();
try {
prop.load(inStream);
value = prop.getProperty(propertyName);
} catch (Exception e) {
logger.warn("Error occured while reading property " + propertyName + " = ", e);
return null;
}
} catch (Exception e) {
System.out.println("Exception = " + e);
}
return value;
}
public static void main(String args[]) {
System.out.println("prop value = " + ReadPropertyFromFile.readProperty("api.properties", "api_loginid"));
}
}
¿Por qué se usa el cargador de clases del sistema, en lugar del normal? – skaffman