В простых java-терминах, без использования каких-либо других библиотек (apache), как читать строки ниже:
data.txt
CheckUpdate: 110
CheckTechNotes: 11
CheckUpdate: 220
CheckTechNotes: 21
CheckUpdate: 330
CheckTechNotes: 31
Используется под кодом:
public class PropertiesFile {
public static void main(String[] args) {
Properties prop = new Properties();
InputStream input = null;
try {
input = new FileInputStream("data.txt");
prop.load(input);
Enumeration<?> e = prop.propertyNames();
while (e.hasMoreElements()) {
System.out.println(prop.getProperty("CheckUpdate"));
}
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
Всегда возвращаю 330, как я могу получить значения 110, 220 и 330?
Примечание: это похоже на наличие 3-х сведений о сотрудниках в файле, как я могу прочитать эти 3 объекта-сотрудника?
Пожалуйста, предложите.
благодаря
Файлы свойств содержат набор пар ключ-значение, поэтому не имеет смысла дублировать ключи. Вызов propertyName() даст вам только разные ключи. Просто откройте файл с помощью обычного FileInputStream и сканируйте свои записи вместо этого.
Вероятно, вы захотите использовать структурированный формат файла, например JSON, а не как плоский формат файла, например свойства этого типа данных. Существует множество библиотек утилиты для де-сериализации данных, таких как gson.
Вы можете добавлять эти свойства во время чтения в List<String>
а затем обращаться к ним как myList.add(prop.getProperty("CheckUpdate"));