在我的Java类中,我有一个名为
在另一个
在调试模式下,getProperties() 方法会不断被调用,而没有到达返回语句。
getProperties()
的static
方法,它返回java.util.Properties
。在另一个
static
方法中,我正在调用该方法,如下所示:Properties p = getProperties();
getProperties()
方法:
private static Properties getProperties(){
Properties properties = new Properties();
try{
InputStream fis = null;
fis = new FileInputStream("src/main/resources/fileName.properties"); //In DEBUG mode control comes until here and returns to Properties p = getProperties(); in the calling method every time continuously
properties.load(fis);
fis.close();
}catch(Exception e){
//......
}
return properties;
}
错误:
Exception in thread "main" java.lang.StackOverflowError
at sun.misc.VM.isBooted(VM.java:165)
at java.util.Hashtable.initHashSeedAsNeeded(Hashtable.java:226)
at java.util.Hashtable.<init>(Hashtable.java:263)
at java.util.Hashtable.<init>(Hashtable.java:283)
at java.util.Properties.<init>(Properties.java:143)
at java.util.Properties.<init>(Properties.java:135)
在调试模式下,getProperties() 方法会不断被调用,而没有到达返回语句。
fis.close();
移动到(不存在的)finally
子句中。如果出现异常,您将拥有打开的FileInputStream
。 - Emz