有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java加载属性(如果不存在)创建它

我正在尝试加载属性,如果不存在,请创建一个

好的,这里是加载:

InputStream is  = Store.class.getResourceAsStream("my.properties");
props.load(is);

但困难的部分是确定文件是否不存在,并在必要时创建它

试过这个:

 File conf = null;
 try {
      conf = new File(Store.class.getResource("my.properties").getFile());
 }
 catch (Exception e){
    // can't create file because getResource returns null again
    conf = new File(Store.class.getResource("my.properties").getFile()); //WRONG
    conf.createNewFile();
 }

在这种情况下我能做什么


共 (1) 个答案

  1. # 1 楼答案

    getResourcegetResourceAsStream可以从类路径中的任何位置加载资源。您甚至不应该假设它是文件系统中的一个文件,因为它可以位于文件系统中。jar文件。因此,如果文件丢失,则不应尝试创建该文件

    相反,如果要从文件系统加载文件,则应该知道要从何处加载文件。你也可以考虑一种混合方法,你首先尝试从一个资源中加载它,如果没有找到它,然后从文件系统中的特定位置加载,如果文件丢失,则创建文件。p>