package testresource;
/*
* URL getResource(String name)
查找带有给定名称的资源。
InputStream getResourceAsStream(String name)
查找具有给定名称的资源。
{
public static void main(String[] args){
System.out.println(ResouceAsstream.class.getResource("sql.properties"));
System.out.println(ResouceAsstream.class.getResource("sql1.properties"));
System.out.println(ResouceAsstream.class.getResource("/sql1.properties"));
System.out.println(ResouceAsstream.class.getResourceAsStream("/sql1.properties"));
System.out.println(ResouceAsstream.class.getResourceAsStream("sql.properties"));
System.out.println(ResouceAsstream.class.getResourceAsStream("/sql.properties"));
System.out.println(ResouceAsstream.class.getResourceAsStream("sql1.properties"));
// file:/D:/myeclipse/workspace/test/bin/testresource/sql.properties
// null
// file:/D:/myeclipse/workspace/test/bin/sql1.properties
// java.io.BufferedInputStream@47abfd68
// java.io.BufferedInputStream@6c89db9a
// null
// null
System.out.println(ResouceAsstream.class.getClassLoader().getResource("sql1.properties"));
System.out.println(ResouceAsstream.class.getClassLoader().getResource("/sql1.properties"));
System.out.println(ResouceAsstream.class.getClassLoader().getResource("sql.properties"));
System.out.println(ResouceAsstream.class.getClassLoader().getResourceAsStream("sql.properties"));
System.out.println(ResouceAsstream.class.getClassLoader().getResourceAsStream("sql1.properties"));
// null
// null
// null
// java.io.BufferedInputStream@4eb09321
// java.io.BufferedInputStream@2a8b83e3
/*
* . Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取(即src目录)。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。
2. Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。
*/
//getResource()方法和getResourceAsStream()在路径处理上相同
}
}
/*
* URL getResource(String name)
查找带有给定名称的资源。
InputStream getResourceAsStream(String name)
查找具有给定名称的资源。
*/
//目录结构,sql1.properties在src目录下
{
public static void main(String[] args){
System.out.println(ResouceAsstream.class.getResource("sql.properties"));
System.out.println(ResouceAsstream.class.getResource("sql1.properties"));
System.out.println(ResouceAsstream.class.getResource("/sql1.properties"));
System.out.println(ResouceAsstream.class.getResourceAsStream("/sql1.properties"));
System.out.println(ResouceAsstream.class.getResourceAsStream("sql.properties"));
System.out.println(ResouceAsstream.class.getResourceAsStream("/sql.properties"));
System.out.println(ResouceAsstream.class.getResourceAsStream("sql1.properties"));
// file:/D:/myeclipse/workspace/test/bin/testresource/sql.properties
// null
// file:/D:/myeclipse/workspace/test/bin/sql1.properties
// java.io.BufferedInputStream@47abfd68
// java.io.BufferedInputStream@6c89db9a
// null
// null
System.out.println(ResouceAsstream.class.getClassLoader().getResource("sql1.properties"));
System.out.println(ResouceAsstream.class.getClassLoader().getResource("/sql1.properties"));
System.out.println(ResouceAsstream.class.getClassLoader().getResource("sql.properties"));
System.out.println(ResouceAsstream.class.getClassLoader().getResourceAsStream("sql.properties"));
System.out.println(ResouceAsstream.class.getClassLoader().getResourceAsStream("sql1.properties"));
System.out.println(ResouceAsstream.class.getClassLoader().getResourceAsStream("testresource/sql.properties"));
// null
// null
// null
// java.io.BufferedInputStream@4eb09321
// java.io.BufferedInputStream@2a8b83e3
/*
* . Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取(即src目录)。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。
2. Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。
*/
//getResource()方法和getResourceAsStream()在路径处理上相同
}
}