РЕДАКТИРОВАТЬ: если вы получаете NullPointerException
в пределах prop.load(in)
, вполне возможно, что
Project.class.getResourceAsStream(line)
возвращает ноль.Вы должны проверить это (а также закрыть входной поток в блоке finally).Вы уверены, что label.properties
действительно присутствует и доступен для загрузчика классов?Как у вас работает этот код?Если вы используете Eclipse или что-то подобное, вы, возможно, забыли сообщить ему, что ваш файл label.properties
является ресурсом, который следует скопировать в выходной каталог.
Что ж, вот одна проблема:
while (br.readLine() != null) {
sb.append(line);
sb.append("\n");
line = br.readLine();
}
Это будет пропускать все остальные строки.Обычно я использую:
while ((line = br.readLine()) != null) {
sb.append(line);
sb.append("\n");
}
Обратите внимание, что только строка первая вашего файла используется для загрузки файла свойств - остальное просто сбрасывается в System.out
.Кроме того, файл свойств, который вы загружаете , затем удаляется - вы ничего не делаете с prop
впоследствии.(И вы должны закрыть in
в finally
блоке, предполагая, что он не равен нулю.)