2

プロパティファイルを読みたかったのです。そのために、このプロパティ ファイルの読み取り、書き込み、更新を行う小さなプログラムを作成しました。

現在、一部の人々は、プロパティ ファイルは 1 回だけ読み取る必要があると言っています。つまり、クラスがロードされるときに、キーごとに複数回ではなく、1 回読み取る必要があります。

そのため、静的ブロック内のプロパティ ファイルを読み取る必要があります。

プロパティファイルに新しいエントリを作成した場合、新しいエントリがロードされるのではないでしょうか?

プロパティ ファイルのロードを設計する正しい方法を教えてください。

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 に答える