читать .txt (свойства) файл с одинаковыми несколькими ключами - Java

1

В простых 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 объекта-сотрудника?

Пожалуйста, предложите.

благодаря

Теги:

3 ответа

1

Файлы свойств содержат набор пар ключ-значение, поэтому не имеет смысла дублировать ключи. Вызов propertyName() даст вам только разные ключи. Просто откройте файл с помощью обычного FileInputStream и сканируйте свои записи вместо этого.

  • 0
    Это то, чем я занимаюсь до сих пор? но фактический файл содержит почти 50000 строк, поэтому проверяем эффективный способ чтения данных ...
0

Вероятно, вы захотите использовать структурированный формат файла, например JSON, а не как плоский формат файла, например свойства этого типа данных. Существует множество библиотек утилиты для де-сериализации данных, таких как gson.

0

Вы можете добавлять эти свойства во время чтения в List<String> а затем обращаться к ним как myList.add(prop.getProperty("CheckUpdate"));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню