【问题标题】:Current directory in java properties filejava属性文件中的当前目录
【发布时间】:2009-06-10 17:24:47
【问题描述】:

有没有办法在 java 属性文件中指定当前目录?

即类似:

fileLocation={currentDir}/fileName.txt

【问题讨论】:

  • “fileLocation=./fileName.txt”或者只是“fileLocation=fileName.txt”呢?

标签: java properties path


【解决方案1】:

没有。属性文件没有任何内置的宏工具。您可以通过user.dir system property 以编程方式获取运行Java 应用程序的用户的当前目录。

【讨论】:

  • 感谢您的回答。你能用这种方式设置系统属性吗?例如,如果我想临时将 user.dir 设置为某个特定目录?我尝试在运行单元测试之前更改它,但它仍然无法加载文件,即使从 getProperty("user.dir") 返回的路径是正确的......
  • 不是,系统属性是在JVM启动时设置的,但是后来修改没有效果。我认为不可能更改正在运行的 JVM 的工作目录。
【解决方案2】:

我很确定它只是默认为当前目录,如果不是你可以这样做

fileLocation="./fileName.txt"

【讨论】:

    【解决方案3】:

    我不知道这个问题的任何直接解决方案。 您可以将 URL 加载到属性文件,然后从该文件加载文件名:

    ClassLoader loader = YourClass.class.getClassLoader(); 
    URL resourceURL =loader.getResource("check.properties");
    String fileToLoad = resourceURL.getPath() + <fileNameFromPropertyFile>;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-15
      • 1970-01-01
      • 1970-01-01
      • 2010-09-25
      • 2017-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多