写一个Properties格式的配置文件,配置类的完整名称,写一个程序,读取这个Properties配置文件,并用反射..
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了写一个Properties格式的配置文件,配置类的完整名称,写一个程序,读取这个Properties配置文件,并用反射..相关的知识,希望对你有一定的参考价值。
完整的题:
已知一个类,定义如下: package cn.itcast.heima;
* public class DemoClass
* public void run()
* System.out.println("welcome to heima!");
*
*
* (1)写一个Properties格式的配置文件,配置类的完整名称
* (2)写一个程序,读取这个Properties配置文件,获得类的完整名称并加载这个类,用反射 的方式运行run方法。
import java.io.InputStream;
class Demo
public void run()
System.out.println("welcome to heima!");
public class PropertiesDemo
public static void main(String[] args) throws Exception
InputStream in = PropertiesDemo.class.getClassLoader()
.getResourceAsStream("proper.properties");
Properties pro = new Properties();
pro.load(in);
in.close();
String className = pro.getProperty("name");
Class c = Class.forName(className);//运行是总是提示这行
Object o = c.newInstance();
Method m = c.getMethod("run");
m.invoke(o);
Enumeration en = pro.propertyNames();
while (en.hasMoreElements()) // 测试这个枚举是否包含更多的元素,有为真,没有为假
String key = (String) en.nextElement();// 返回这个枚举的下一个元素
String Property = pro.getProperty(key);// 在这个属性列表的值与指定的键值
System.out.println(key + Property);
配置文件里写的下边这个对吗?
name = com.heima.changjaijie.Eight.DemoClass
public class DemoClass
public void run()
System.out.println("welcome to heima!");
总是提示这个错误:
Exception in thread "main" java.lang.ClassNotFoundException: com.heima.changjaijie.Eight.DemoClass
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.heima.changjaije.Eight.PropertiesDemo.main(PropertiesDemo.java:32)
那位大侠能给运行一下给看看那出毛病了,能不能让运行起来?
Properties类的简单运用
当需要用到 .properties 配置文件时,我们往往会用到Properties类创造途径来访问配置文件的内容.
示例:现在我创建了一个后缀为.properties的文件.(创建方式同创建记事本,将后缀改为.properties即可)
注意:.properties文件仅当放在项目目录下才有效
程序中,为了访问这个文件,我需要写下面这些代码创建与文件的连接:
1:新建一个Properties 类的实例
Properties userInfomation = new Properties();
2:创建文件流并将流连接到实例上
InputStream is;
OutputStream os;
is = new FileInputStream("userInfo.properties");
os = new FileOutputStream("userInfo.properties", true);
3:读文件
userInfomation.load(is);
userInfomation.containsKey(userName);
userInfomation.getProperty("username");
4:写文件
// 将用户名和密码存储到内存中
userInfomation.setProperty(userName, userPassword);
// 将用户名和密码保存到文件中
userInfomation.store(os, null);
以上是关于写一个Properties格式的配置文件,配置类的完整名称,写一个程序,读取这个Properties配置文件,并用反射..的主要内容,如果未能解决你的问题,请参考以下文章
java web工程中读取properties文件,路径一直不知道怎么写