我有一个Java项目,它包括名为runProgram
的程序和名为config.properties
的配置文件,位于包pack
中。我试图从Windows 7的命令提示符中运行该项目作为.jar
文件。但是我不知道如何指示我想要使用的特定配置文件。我试着用文件名"打开文件",但它不起作用。
计划:
package pack;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class runProgram {
public static void main(String[] args){
double value;
Properties configFile = new Properties();
try {
configFile.load(helloworld.class.getClassLoader().getResourceAsStream(
"\pack\config.properties"));
} catch (IOException e) {
e.printStackTrace();
}
value = Double.parseDouble(configFile.getProperty("value"));
System.out.println("Value is: "+value);
}
}
配置文件: value = 75
我试了一下,但我不知道我是否理解对了你的问题。
但是我不知道如何指明我想使用的具体配置文件。
如果这是关于运行工具,而每次指定另一个配置文件,我会用Apache CLI,解析和处理命令行参数。然后,用户可以在每次运行您的工具时指定该文件。(在"用法"下你可以找到一些例子,但我现在不允许发布两个以上的链接)
但是如果你想知道更多关于处理java属性文件,这里有一个很好的教程:http://www.mkyong.com/java/java-properties-file-examples/
另外,对于独立于操作系统的路径定义,可以看一下System.getProperty("file.separator")
,顾名思义,它尝试接收特定于操作系统的路径分隔符(例如,Windows为'',UNIX系统为'/')。