How to use Java property files?

后端 未结 17 1529
时光取名叫无心
时光取名叫无心 2020-11-22 11:13

I have a list of key/value pairs of configuration values I want to store as Java property files, and later load and iterate through.

Questions:

  • Do I ne
17条回答
  •  天命终不由人
    2020-11-22 11:49

    Here ready static class

    import java.io.*;
    import java.util.Properties;
    public class Settings {
        public static String Get(String name,String defVal){
            File configFile = new File(Variables.SETTINGS_FILE);
            try {
                FileReader reader = new FileReader(configFile);
                Properties props = new Properties();
                props.load(reader);
                reader.close();
                return props.getProperty(name);
            } catch (FileNotFoundException ex) {
                // file does not exist
                logger.error(ex);
                return defVal;
            } catch (IOException ex) {
                // I/O error
                logger.error(ex);
                return defVal;
            } catch (Exception ex){
                logger.error(ex);
                return defVal;
            }
        }
        public static Integer Get(String name,Integer defVal){
            File configFile = new File(Variables.SETTINGS_FILE);
            try {
                FileReader reader = new FileReader(configFile);
                Properties props = new Properties();
                props.load(reader);
                reader.close();
                return Integer.valueOf(props.getProperty(name));
            } catch (FileNotFoundException ex) {
                // file does not exist
                logger.error(ex);
                return defVal;
            } catch (IOException ex) {
                // I/O error
                logger.error(ex);
                return defVal;
            } catch (Exception ex){
                logger.error(ex);
                return defVal;
            }
        }
        public static Boolean Get(String name,Boolean defVal){
            File configFile = new File(Variables.SETTINGS_FILE);
            try {
                FileReader reader = new FileReader(configFile);
                Properties props = new Properties();
                props.load(reader);
                reader.close();
                return Boolean.valueOf(props.getProperty(name));
            } catch (FileNotFoundException ex) {
                // file does not exist
                logger.error(ex);
                return defVal;
            } catch (IOException ex) {
                // I/O error
                logger.error(ex);
                return defVal;
            } catch (Exception ex){
                logger.error(ex);
                return defVal;
            }
        }
        public static void Set(String name, String value){
            File configFile = new File(Variables.SETTINGS_FILE);
            try {
                Properties props = new Properties();
                FileReader reader = new FileReader(configFile);
                props.load(reader);
                props.setProperty(name, value.toString());
                FileWriter writer = new FileWriter(configFile);
                props.store(writer, Variables.SETTINGS_COMMENT);
                writer.close();
            } catch (FileNotFoundException ex) {
                // file does not exist
                logger.error(ex);
            } catch (IOException ex) {
                // I/O error
                logger.error(ex);
            } catch (Exception ex){
                logger.error(ex);
            }
        }
        public static void Set(String name, Integer value){
            File configFile = new File(Variables.SETTINGS_FILE);
            try {
                Properties props = new Properties();
                FileReader reader = new FileReader(configFile);
                props.load(reader);
                props.setProperty(name, value.toString());
                FileWriter writer = new FileWriter(configFile);
                props.store(writer,Variables.SETTINGS_COMMENT);
                writer.close();
            } catch (FileNotFoundException ex) {
                // file does not exist
                logger.error(ex);
            } catch (IOException ex) {
                // I/O error
                logger.error(ex);
            } catch (Exception ex){
                logger.error(ex);
            }
        }
        public static void Set(String name, Boolean value){
            File configFile = new File(Variables.SETTINGS_FILE);
            try {
                Properties props = new Properties();
                FileReader reader = new FileReader(configFile);
                props.load(reader);
                props.setProperty(name, value.toString());
                FileWriter writer = new FileWriter(configFile);
                props.store(writer,Variables.SETTINGS_COMMENT);
                writer.close();
            } catch (FileNotFoundException ex) {
                // file does not exist
                logger.error(ex);
            } catch (IOException ex) {
                // I/O error
                logger.error(ex);
            } catch (Exception ex){
                logger.error(ex);
            }
        }
    }
    

    Here sample:

    Settings.Set("valueName1","value");
    String val1=Settings.Get("valueName1","value");
    Settings.Set("valueName2",true);
    Boolean val2=Settings.Get("valueName2",true);
    Settings.Set("valueName3",100);
    Integer val3=Settings.Get("valueName3",100);
    

提交回复
热议问题