写一个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)
那位大侠能给运行一下给看看那出毛病了,能不能让运行起来?

我今天也遇到跟你一样的问题,纠结了两天,现在弄明白了,异常提示找不到这个类,说明你的配置文件出了问题,name = com.heima.changjaijie.Eight.DemoClass,需要进到你的DemoClass类里,选中DemoClass,鼠标右键点copy Qualifield Name,也就是复制它的类路径,然后粘贴在你的配置文件name等号右边,注意还要加上回车换行再保存! 参考技术A 写一个程序,读取这个Properties配置文件,获得类的完整名称并加载这个类,用...instance, new Object[]); 还有一个包是 : properties包,有...

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中Properties类的操作

Java properties配置文件

java web工程中读取properties文件,路径一直不知道怎么写

请问,在eclipse spring如何添加配置文件

springboot application.properties 写多个配置文件怎么写

springboot application.properties 写多个配置文件怎么写