The property file has been changed in the running state, but the file read using the getResourceAsStream () method has not changed, which is consistent with the file when the server was initially started. I checked it online. Someone said that the getResourceAsStream () method will be cached by the Java Virtual Machine after reading the new file. When the getResourceAsStream () method is called again, the system will first check whether the file exists in the Java Virtual Machine, if yes, the file is directly returned. If not, the file is obtained based on the input name.
[Java]
Final Properties prop = new Properties ();
Property (String file ){
Try {
Prop. load (this. getClass (). getResourceAsStream (file ));
} Catch (FileNotFoundException e ){
E. printStackTrace (System. err );
} Catch (IOException e ){
E. printStackTrace (System. err );
}
}
Should be changed
[Java]
Final Properties prop = new Properties ();
Property (String file ){
Try {
Prop. load (new FileInputStream (this. getClass (). getResource (file). getFile ()));
} Catch (FileNotFoundException e ){
E. printStackTrace (System. err );
} Catch (IOException e ){
E. printStackTrace (System. err );
}
}