Java tutorial
package de.fhg.iais.cortex.guice.modules; /****************************************************************************** * Copyright 2011 (c) Fraunhofer IAIS Netmedia http://www.iais.fraunhofer.de * * ************************************************************************** * * Licensed under the Apache License, Version 2.0 (the "License"); you may * * not use this file except in compliance with the License. * * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * * software distributed under the License is distributed on an "AS IS" BASIS, * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and * * limitations under the License. * ******************************************************************************/ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; import java.util.Properties; import org.apache.commons.io.IOUtils; import com.google.common.base.Charsets; import com.google.inject.AbstractModule; import com.google.inject.name.Names; public class PropertiesModule extends AbstractModule { private final Properties properties; public PropertiesModule(String fileName) throws IOException { this.properties = new Properties(); Reader reader = new InputStreamReader(new FileInputStream(fileName), Charsets.UTF_8); try { this.properties.load(reader); } finally { IOUtils.closeQuietly(reader); } } protected Properties getProperties() { return this.properties; } @Override protected void configure() { Names.bindProperties(binder(), this.properties); } }