java getResourceAsStream,
分享于 点击 24422 次 点评:282
java getResourceAsStream,
加载类路径或者classpath路径下面的文件,使用绝对路径是不推荐的方式,那如何使用相对路径的方式加载呢,下面就介绍一下getResourceAsStream函数的使用,看下面的代码:
public class TestResourceAsStream {
public static void main(String[] args) {
InputStream stream1 = null;
InputStream stream2 = null;
InputStream stream3 = null;
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
stream1 = classLoader.getResourceAsStream("ResNewFile.xml");
System.out.println(stream1.toString());
stream2 = TestResourceAsStream.class.getResourceAsStream("/com/basic/io/NewFile.xml");
System.out.println(stream2.toString());
stream3 = TestResourceAsStream.class.getResourceAsStream("NewFile.xml");
System.out.println(stream3.toString());
}
}
假设工程名为basic,ResNewFile.xml文件位于工程的src/resource目录下面,该目录包括在classpath中,NewFile文件位于src/java目录下面的com.basic.io包下面。
通过上面的三种方式都可以读取.xml文件,三者的区别是:
1)前面有 “ / ”,“ / ”代表了工程的根目录,例如工程名叫做basic,“ / ”代表了basic
2)前面没有 “ / ”,代表当前类的目录
3)classLoader默认是从classpath加载文件,不需要” / “
相关文章
- 暂无相关文章
用户点评