【问题标题】:Have Relative Paths as properties in property file将相对路径作为属性文件中的属性
【发布时间】:2014-12-26 18:12:15
【问题描述】:

所以我的问题不是如何从相对路径加载属性文件,而是如何将相对路径(相对于属性文件)声明为文件中的属性路径?

例如,我想要一个目录等

|-etc
|---File1
|---File2
|---properties.

现在我想要一些类似的属性,

file1 = ./File1
file2 = ./File2

但 Java 会简单地获取像“./File1”这样的实际内容

我如何连接它,以便 Java 获取属性并理解​​它应该与属性文件所在的位置相关?

因此,当您执行new File(properties.getproperty(file1)) 时,它将尝试在 C://etc/File1 中查找文件,而不仅仅是 ./File1

【问题讨论】:

标签: java file properties-file


【解决方案1】:

您需要了解 Java 属性文件只是键/值对的列表。你如何解释这些价值观取决于你。所以你应该期望properties.getProperty("file1") 会给你字符串"./File1"...但是你可以使用它作为一个相对文件名很容易:

File rootDirectory = ...; // However you get this
String relativePath = properties.getProperty("file1");
File file = new File(rootDirectory, relativePath);

【讨论】:

    【解决方案2】:

    为了补充 Jon 的回答,您必须以某种方式将根文件夹设置为参考点。你的线路

    new File(properties.getproperty(file1))
    

    将查找与包含该行的已编译 Java 类的 .class 文件的位置相比较的相对路径。即使您正确设置了相对路径,如果您将类 1 包向上移动,代码也会中断。

    【讨论】:

      猜你喜欢
      • 2011-08-23
      • 1970-01-01
      • 1970-01-01
      • 2016-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-05
      • 1970-01-01
      相关资源
      最近更新 更多