2

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

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

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

现在我怀疑如果我对属性文件进行任何新条目,它会被加载新条目吗?

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

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));





    }
4

1 回答 1

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;
     }
    
于 2012-09-06T07:53:00.123 回答