При загрузке свойств из класса в пакете com.al.common.email.templates
вы можете использовать
Properties prop = new Properties();
InputStream in = getClass().getResourceAsStream("foo.properties");
prop.load(in);
in.close();
(Добавить все необходимые обработки исключений).
Если ваш класс не в этом пакете, вам необходимо aquire в InputStream немного по-другому:
InputStream in =
getClass().getResourceAsStream("/com/al/common/email/templates/foo.properties");
Относительные пути (те, без «/») в getResource()
/getResourceAsStream()
означает, что ресурс будет поиск по отношению к каталогу, который представляет пакет, в котором находится класс.
Используя java.lang.String.class.getResource("foo.txt")
, поиск файла (несуществующего) /java/lang/String/foo.txt
в пути к классам.
Использование абсолютного пути (тот, который начинается с '/') означает, что текущий пакет игнорируется.
я предполагаю, что второй фрагмент является ответом на вопрос .. – Satya 2008-12-02 08:58:00
Предложение: Добавить объяснение, когда использовать относительны и когда использовать абсолютные пути (с и без «/» на начало). – 2008-12-02 09:06:35
Я попытался дать некоторое объяснение. – 2008-12-02 09:13:26