我需要从战争中获取属性文件。
String fileName = loadFileName();
try {
FileInputStream fis = new FileInputStream(new File(Thread.currentThread().getContextClassLoader().getResource(fileName).toURI()));
property.load(fis);
}
.........
private String loadFileName(){
if(currentLocale.equals(new Locale("en"))){
return "file:///locale/output/language.properties";
} else {
return "file:///locale/output/language_ru.properties";
}
}
此文件位于main / resources / locale / output文件夹中。不幸的是,这种方法不起作用,所有属性值都为null。如何正确加载战争文件?服务器:JBoss AS 7
答案 0 :(得分:1)
WAR是一个存档文件。您无法将归档中的“文件”作为文件进行处理。只需通过#getResourceAsStream(String name)
打开资源即可。 name
可能是/locale/output/language.properties
。
当然你不应该自己建立i18n。