我有一个属性文件,用于控制应用程序中的特定变量。除了我使用的其中一个键之外,其他所有键都可以正常工作。
ini文件的结构是:
JDBC_DRIVER=com.mysql.jdbc.Driver
DB_URL=localhost/tempTables
EmailList=foo@bar.com
sender=foo_bar@tempfoo.com
host=<sanitised>
port=25
USER=root
PASS=Fo0b4R
path=C:/Users/foo/Desktop/profile_admin_
logLevel=2
TimerControl=2
我遇到的具体问题是“logLevel”。这将被读取为字符串(使用属性类),然后解析为int。关键的“端口”遵循这个诉讼,所以我想知道它是否是键名,或者键的数量是否有限制。
每个键的内容如下:
FileInputStream propFile = new FileInputStream("config.ini");
Properties config = new Properties(System.getProperties());
config.load(propFile);
String level = config.getProperty("logLevel");
System.out.println("Purely for testing. Key \"logLevel\" is :"+level);
int levelLogger = Integer.parseInt(level);
System.out.println("Parsed to integer, printed for integrity: "+levelLogger);
//output
Purely for testing. Key "logLevel" is : null
Exception in thread "main"
java.lang.NumberFormatException: nu;;
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at package.myClass.main(myClass.java:63)
答案 0 :(得分:1)
这里的问题是我自己的错。因为我正在使用我的ini的当前工作目录,所以我忘记将config.ini
移动到/ bin文件夹(我正在从CMD执行此应用程序。