我有一个配置文件,我想从配置文件中读取文件的路径,并将其传递给我的java类的系统属性。这就是我想从文件中获取的内容:
# path configuration
MyfilePATH="$projectPath/file name"
这就是我在java类中的内容:
private static final String FILE_PATH = System.getProperty("FILE_PATH","DEFAULT_PATH");
我在java类中使用FILE_PATH。但由于我对java很新,我不知道如何将配置文件中的值传递给我的java类。
有任何帮助吗? 感谢
答案 0 :(得分:0)
首先使用Properties
加载config
文件,如下所示
Properties prop = new Properties();
// load a properties file
prop.load(new FileInputStream("config.properties"));
然后,要从加载的属性中访问MyfilePATH
,请使用
String myPath = prop.getProperty("MyfilePATH")
答案 1 :(得分:0)
System.getProperty只会返回一些特定的属性:http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html
您想要的是阅读您自己的属性文件。这在此处描述:http://docs.oracle.com/javase/tutorial/essential/environment/properties.html
一般的想法是:
package stack;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class Main {
public static void main(String[] args) throws IOException {
Properties props = new Properties();
FileInputStream in = new FileInputStream("/absolute/path/to/your/yourconfigfile.properties");
props.load(in);
in.close();
String filePath = props.getProperty("MyFilePATH", "WHATEVER-DEFAULT-VALUE-YOU WANT");
System.out.println(filePath);
}
}
然而,在你的情况下,你想要的并不是很清楚; $ projectPath对你意味着什么?如果你想要String插值(用其他东西替换String中的$ projectPath部分),那就是另一个故事了。