springフレームなしで、propertiesファイルを読み込む方法

1353 ワード

プロジェクトチームにソロ4.6の応用を組み入れた.新しいプロファイルが追加されました.プロジェクトの重要な情報が保存されています.この時はまだspringのフレームを使っていません.propertiesファイルの内容を得るためだけにspringのフレームを導入すると、お得ではないと思います.そこで暴力的になって、直接プロジェクトコードの中のpropertiesファイルを読みます.
 public void contextInitialized(ServletContextEvent sce) {
    	Properties properties = new Properties();
    	try {
    		 
    		String path = sce.getServletContext().getRealPath("/");
    		LOG.error("path:" + path);
    		
    		InputStream fis = new FileInputStream(path + "WEB-INF" + File.separator + "classes" + File.separator + "im-solr.properties");
			properties.load(fis);
			Config.DOMAIN_URL = (String)properties.get(Config.DOMAIN_URL_KEY);
			Config.LOGIN_COOKIE_NAME = (String)properties.get(Config.LOGIN_COOKIE_NAME_KEY);
			Config.splitAdminStr2Set((String)properties.get(Config.ADMIN_SET_KEY));
		} catch (FileNotFoundException e) {
			LOG.error(e.getMessage(), e);
		} catch (IOException e) {
			LOG.error(e.getMessage(), e);
		}
    }
    sce.getServletConttext().getRealPath(/);この行のコードはプロジェクトコードのルートパスを得ることができます.不思議なコードです.
    ファイルの区切りは当然のことながら「\」で表してはいけません.間違いないです.Windows下のファイルセパレータはこれを使っていますが、一部のLinuxシステム下のファイルセパレータもこれを使っています.しかし、私たちのオンライン環境に行くと、問題が発生します.ログを調べてみると、オンラインのLinuxのファイルのセパレータには「/」が使われています.ですから、保険のために、やはりFile.separatorを使って表します.どのプラットフォームでも食べられます.