---------------------- android培训、java培训、期待与您交流! ----------------------
- 读取配置文件中的信息
配置文件的内容:
用URLClassLoader读配置文件内容:
import ; import ; import ; import ; public class Testext { public static void main(String[] args) throws IOException { Properties properties = new Properties(); URL[] urls = new URL[] { new URL("file:/" + ("") + "/ravageWeb/") }; URLClassLoader ucl = new URLClassLoader(urls); //ClassLoader cl = (); //这两行也可以不写 //cl = ucl; //如果写,下面就要改为:... (("resources/")); (("sui")); } }
遇到的问题:1. "/ravageWeb/" 中第二个 / 可写可不写。 但是若改为 "/ravageWeb/resources/" 则resources后必须加 / 否则报NullPointerException
用ClassLoader读配置文件内容:
import ; import ; public class Testext { public static void main(String[] args) throws IOException { Properties properties = new Properties(); (() .getResourceAsStream("resources/")); (("sui")); } }
总结:很显然ClassLoader与URLClassLoader的区别是:
ClassLoader只能读位于classpath下的文件(即:resources/必须放到src目录下,编译后进入bin目录);
而URLClassLoader可以读任意目录下的文件!
2. 载入一个类
用ClassLoader载入一个类:
import ; public class Testext { public static void main(String[] args) throws IOException, ClassNotFoundException { Class c = ().loadClass(""); (()); //输出: } }
用URLClassLoader载入一个类:
import ; import ; import ; public class Testext { public static void main(String[] args) throws IOException, ClassNotFoundException { URL[] urls = new URL[] { new URL("file:/" + ("") + "/ravageWeb/") }; URLClassLoader ucl = new URLClassLoader(urls); Class c = ("NoPackage"); (()); } }
遇到的问题:"/ravageWeb/" 中第二个 / 必须写,否则报ClassNotFoundException
总结:
ClassLoader只能load位于classpath(src目录)下的类;
而URLClassLoader可以load任意目录下的类!
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:/heima