public class ClassLoaderTest {
public static void main(String[] args) {
// 通过classLoader 获取资源
URL url1 = ClassLoaderTest.class.getClassLoader().getResource(
"net/csdn/ClassLoaderTest.class");
System.out
.println("ClassLoaderTest.class.getClassLoader().getResource("
+ "\"net/csdn/ClassLoaderTest.class\") = [" + url1
+ "]");
// 通过Class 获取资源
URL url2 = ClassLoaderTest.class.getResource("ClassLoaderTest.class");
System.out.println("ClassLoaderTest.class.getResource("
+ "\"ClassLoaderTest.class\") = [" + url2 + "]");
// 通过user.dir获取路径
String path = System.getProperty("user.dir");
System.out.println("System.getProperty(\"user.dir\") = [" + path + "]");
Properties prop = new Properties();
// 通过File方式获取conf.properties
String confPath = path.concat("src")
.concat(File.separator).concat("java").concat(File.separator)
.concat("resource").concat(File.separator).concat("conf")
.concat(File.separator).concat("conf.properties");
System.out.println(confPath);
File file = new File(confPath);
InputStream is = null;
if (file.exists() && !file.isDirectory()) {
try {
is = new FileInputStream(file);
prop.load(is);
System.out.println("File Load Successful. Name is: ["
+ prop.getProperty("name") + "]");
prop.clear();
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("File not Found Exception.");
} catch (Exception e) {
e.printStackTrace();
System.out.println("Properties load Exception.");
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
} else {
System.out.println("Can not find conf.properties from [" + confPath
+ "]");
}
// 通过ClassPath获取
is = ClassLoaderTest.class.getClassLoader().getResourceAsStream(
"conf/conf.properties");
try {
prop.load(is);
System.out
.println("ClassPath \"conf/conf.properties\" Load Successful. Name is: ["
+ prop.getProperty("name") + "]");
prop.clear();
} catch (Exception e) {
e.printStackTrace();
System.out.println("Properties load Exception.");
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
is = ClassLoaderTest.class.getClassLoader().getResourceAsStream(
"conf\\conf.properties");
try {
prop.load(is);
System.out
.println("ClassPath \"conf\\conf.properties\" Load Successful. Name is: ["
+ prop.getProperty("name") + "]");
prop.clear();
} catch (Exception e) {
e.printStackTrace();
System.out.println("Properties load Exception.");
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}