private FileLoader initFileLoader() {
		try {
			Class<?> clazz = Class.forName(DEFAULT_FILELOADER);
			try {
				Constructor<?> c = clazz.getConstructor(Map.class);
				return (FileLoader) c.newInstance(getInitParams());
			} catch (Exception e) {}
			
			Object obj = clazz.newInstance();
			
			Class<?>[] interfaces = clazz.getInterfaces();
			for(Class<?> ifc : interfaces){
				//给文件加载器注入初始化参数
				if(ifc.equals(InitParamsAware.class)){
					Method method = clazz.getMethod("setInitParams",Map.class);
					method.invoke(obj, getInitParams());
				}
			}
			return (FileLoader) obj;
		} catch (Exception e) {
			throw new RuntimeException("can not init FileLoader.",e);
		}
	}