Java单例模式里读取配置文件的工具类

下述代码是读取java配置文件database.properties的工具类,其中第九行不懂,求一个详解。还有try语句,load方法应该是
读取一个输入流吧,可紧接着就用close方法关闭了,那又怎么能调用ConfigManager类的getString方法获取配置文件里相应
键的值呢?记得java里的properties文件就是以键值对形式存储数据的。
  1. public class ConfigManager {                      //设置文件读取的工具类,单例模式 

  2. private static ConfigManager configManager;

  3. private static Properties properties;

  4. private ConfigManager() {            //必须以private修饰

  5. String configFile = "database.properties";

  6. properties = new Properties();          

  7. InputStream is = ConfigManager.class.getClassLoader().getResourceAsStream(configFile);

  8. try {

  9. properties.load(is);

  10. is.close();

  11. } catch (IOException e) {

  12. e.printStackTrace();

  13. }

  14. }

  15. public static ConfigManager getInstance() {

  16. if(configManager == null) {

  17. configManager = new ConfigManager();

  18. }

  19. return configManager;

  20. }

  21. public String getString(String key) {

  22. return properties.getProperty(key);

  23. }

  24. }

fenkapian
浏览 2469回答 1
1回答

weenhall

第九行的意思是通过配置管理器 ConfigManager的反射形式获得当前配置文件configFile,然后把这个返回值赋给一个输入流,然后通过properties的load方法加载这输入流(is)文件。因为与IO相关的操作可以能会引发异常,所以这里必须声明异常。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java