JavaWeb项目从程序(非配置文件)中读取本地配置文件

     之所以要从程序中读取外部本地配置文件,是因为在项目已经打包部署的情况下,如果想要改变一些程序中配置的诸如ip,port等可能经常变动的元素,不必去改动源码然后再次打包部署。只需要把这些信息写在配置文件中,然后将该配置文件放置在运行该项目的Tomcat的根目录下。在程序中进行读取配置文件中的信息即可。代码如下:

    

String path = System.getProperty("catalina.home")+"/web/config/config.properties";
		Properties prop=this.readProperties(path);
		String ip = prop.getProperty("ip");
		String port = prop.getProperty("port");
		
		/**
		 * 读取外部properties文件内容
		 * @param path
		 * @return
		 */
		public static Properties readProperties(String path) {  
			Properties prop = new Properties();
		    InputStream input = null;
		    try {
		        input = new FileInputStream(path);
		        prop.load(input);
		  
		    } catch (IOException ex) {
		        ex.printStackTrace();
		    } finally {
		        if (input != null) {
		            try {
		                input.close();
		            } catch (IOException e) {
		                e.printStackTrace();
		            }
		        }
		    }
		    return prop;
		}

     其中的catalina.home即为运行该项目的tomcat的根目录,我的目录结构如图所示(目录结构可自己随意创建):


 

在config.properties文件中只需要配置好程序中所需的信息即可。


你可能感兴趣的:(Java)