import java.io.IOException; import java.io.InputStream; import java.util.Properties; import javax.xml.parsers.FactoryConfigurationError; /** * */ /** * @author whc77 * */ public class ApiFactory { public static Api createApi(){ Properties p = new Properties(); InputStream in = null; //一定要加 / 这个符号,表示配置文件在本目录中 in = FactoryConfigurationError.class.getResourceAsStream("/FactoryTest.properties"); if (in == null){ System.out.println("llll");} try {p.load(in); } catch (IOException e) { // TODO Auto-generated catch block System.out.println("装载错误:"); e.printStackTrace(); }finally{ try { in.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } Api api = null; try { //配置文件中用ImplClass指明实现的类 api = (Api) Class.forName(p.getProperty("ImplClass")).newInstance(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return api; } } 以上代码中的配置文件前一定要加"/"这个符号