All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.imsejin.common.util.IniUtils Maven / Gradle / Ivy

package io.github.imsejin.common.util;

import org.ini4j.Config;
import org.ini4j.Ini;
import org.ini4j.Profile.Section;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * Ini utilities
 */
public final class IniUtils {

    private IniUtils() {
    }

    public static Map readSection(File file, String sectionName) {
        return read(file).get(sectionName);
    }

    public static String readValue(File file, String sectionName, String name) {
        Section section = read(file).get(sectionName);
        return section.get(name);
    }

    public static List readValues(File file, String sectionName) {
        Section section = read(file).get(sectionName);
        return new ArrayList<>(section.values());
    }

    private static Ini read(File file) {
        Config conf = new Config();
        conf.setMultiSection(true);

        try {
            Ini ini = new Ini(file);
            ini.setConfig(conf);
            ini.load();

            return ini;
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy