加载属性文件

时间:2012-09-06 06:50:45

标签: java properties

我想阅读一些属性文件。 为此我创建了一个小程序,它读取,写入并更新了这个属性文件。

现在有些人说属性文件应该只读一次,这意味着当加载类时,它应该读取一次,而不是每次读取多次。

所以我必须读取静态块内的属性文件。

现在我怀疑如果我对属性文件进行任何新的输入,是否会加载新条目?

请建议我设计加载属性文件的正确方法。

public class Parser {

    private String path;

    private static Properties prop = new Properties();

    public Parser(String path) throws IOException{

        this.path = path;

        load();

    }

    public  Model readPropertiesFile(){

        Model model = new Model();

        model.setName(prop.getProperty("name"));

        return model ;



    }

    public void createOrUpdatePropertiesFile(Model model){

        prop.setProperty("name", model.getName());
    }

    public void setPath(String path){
         this.path = path;
    }

    public String getPath(){
        return path ;
    }



    public  void load() throws IOException{

        File file = new File(path);
        if(!file.exists()){
            file.createNewFile();
              System.out.println("File created..");
        }
                        prop.load(new FileInputStream(file));





    }

1 个答案:

答案 0 :(得分:0)

你可以尝试这种方式;

  • 从类路径加载属性文件

    public static Properties load(String propsName) throws Exception {
         Properties props = new Properties();
         URL url = ClassLoader.getSystemResource(propsName);
         props.load(url.openStream());
         return props;
    }
    
  • 加载属性文件

     public static Properties load(File propsFile) throws IOException {
         Properties props = new Properties();
          FileInputStream fis = new FileInputStream(propsFile);
          props.load(fis);    
          fis.close();
          return props;
     }