2015-10-21 2 views
0

, поэтому я хотел бы узнать, можно ли получить ключ вместо значения из объекта свойств. Я исследовал его, но придумал только примеры, в которых перечислены все ключи. Есть ли способ получить ключ без необходимости использовать цикл для фильтрации через все, чтобы получить то, что мне нужно?Извлечь ключ из файла свойств JAVA TOMCAT

В основном то, что у меня есть, Логин, который хранит информацию Войти в файл свойств, где имя пользователя является ключом и значение является паролем

pass = propertiesObj.getProperty(username); 

Как бы я получить имя пользователя (ключ) из файла свойств, чтобы я мог проверить, совпадает ли это с тем, что вводил пользователь? Я просто ищу идеи о том, как это сделать, объект свойств не имеет ничего, чтобы извлечь ключ, основанный на значении.

Спасибо!

+0

Java, [свойство объекта] (http://docs.oracle.com/javase/7/docs/api/java /util/Properties.html) является хеш-таблицей. Он возвращает значение по отношению к ключу ... но вам нужно перебирать ключи, чтобы найти соответствие для любого заданного значения. – paulsm4

ответ

0

В данном примере использования вы не видите приложения для поиска имени пользователя из поиска пароля.

Имя пользователя, введенное пользователем, не будет возвращать пароль (или, скорее, null), если нет ключа с этим именем пользователя. Если, однако, введенное имя пользователя (ключ) возвращает пароль, который совпадает с введенным пользователем паролем, есть совпадение, и вы можете быть уверены, что ключ такой же, как и введенный пользователем.

Глядя ли существует имя пользователя (ключ) легко:

String username = "heresjohnny"; 
boolean isValidUsername = props.keySet().contains(username); 
0

Свойства расширяются Hashtable. Используйте метод keySet, чтобы получить ключи.

Если вы хотите получить ключи для значений, то создайте новый HashMap с измененными ключами и значениями - итерацией по клавишам, вытаскиванием значений и добавлением их в новую HashMap.

Смежные вопросы