Hiii ... Tôi muốn lấy nội dung của tệp thuộc tính vào đối tượng lớp InputStream bằng cách sử dụng getSystemResourceAsStream(). Tôi đã xây dựng mã mẫu. Nó hoạt động tốt bằng cách sử dụng phương thức main(), nhưng khi tôi triển khai dự án và chạy trên máy chủ, đường dẫn tệp thuộc tính không thể thu được ... do đó đối tượng inputstream lưu trữ giá trị null.getSystemResourceAsStream() trả về null
Mẫu mã là ở đây ..
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"));
}
}
Tại sao sử dụng bộ nạp lớp hệ thống, thay vì sử dụng trình tải lớp thông thường? – skaffman