Java 反射读取配置文件及反射类
2009-03-25 11:44
405 查看
工程下载地址:http://download.csdn.net/source/813185
这个工程是使用 java 来使用反射的原理读取 *.proproies 或者是 *.xml 资源文件中的一些配置信息。利用此方法可以在没有使用框架的情况下可以让你的程序更加灵活易于修改。如:可以将一些数据库配置信息,重要信息写入到资源文件中,在使用反射来读取这些信息。
package test; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Properties; public class Test { /** * @param args */ public static void main(String[] args) { try { String path = System.getProperty("user.dir")+"/src/test/myFile.properties"; FileInputStream in=new FileInputStream(path); Properties per=new Properties(); per.load(in); String myclass=per.getProperty("myclass"); String m1=per.getProperty("Method1"); String m2=per.getProperty("Method2"); Object obj=Class.forName(myclass).newInstance(); // 得到类的路径 System.out.println(obj.getClass()); // 获得该类的所有属性 Field [] f=obj.getClass().getDeclaredFields(); for (int i = 0; i < f.length; i++) { System.out.println(f[i].getName()); } // 获得该类的所有方法 Method [] m=obj.getClass().getMethods(); for (int i = 0; i < m.length; i++) { System.out.println(m[i].getName()); } // 执行该类的 m1 方法 Method md=obj.getClass().getMethod(m1, new Class[] {String.class}); md.invoke(obj, new Object[]{"Java"}); // 执行该类的 m2 方法 md=obj.getClass().getMethod(m2, null); String str=(String)md.invoke(obj,null); System.out.println(str); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
这个工程是使用 java 来使用反射的原理读取 *.proproies 或者是 *.xml 资源文件中的一些配置信息。利用此方法可以在没有使用框架的情况下可以让你的程序更加灵活易于修改。如:可以将一些数据库配置信息,重要信息写入到资源文件中,在使用反射来读取这些信息。
相关文章推荐
- [Java 15 反射机制 ] 工厂模式与 properties 读取配置文件
- 利用java反射读取xml配置文件
- 利用java反射读取xml配置文件
- 利用java反射读取xml配置文件
- 如何在java类中读取Properties配置文件
- java读取配置文件( properties 与 xml )
- Java Properties 类读取配置文件信息
- Java实战(一)—Dom4J读取配置文件实现抽象工厂+反射
- Java Properties 类读取配置文件信息
- 读取java配置文件
- java读取配置文件properties
- Java关于读取配置文件Parsing failed.的问题org.logicalcobwebs.proxool.ProxoolException: Parsing failed.
- Java语言读取配置文件config.properties
- Java项目读取配置文件时,FileNotFoundException 系统找不到指定的文件,System.getProperty("user.dir")的理解
- java读取配置文件
- Java中读取配置文件使用jdbc-c3p0连接池连接sqlserver数据库
- JAVA技术:XML配置文件的读取处理
- java中读取配置文件
- java读取和设置配置文件中的属性参数
- java读取配置文件 转载