Java中的Class对象可通过两种方式加载输入流。
1. this.getClass().getResourceAsStream(fileName);
这种方式以当前类所在package为根目录来寻找文件。
2. this.getClass().getClassLoader().getResourceAsStream(fileName);
这种方式从当前classpath中寻找文件。
比如有以下目录结构
+src
+test1
-Test1.java
-1.txt
+test2
-Test2.java
-2.txt
+classpath
-config.properties
其中classpath目录为classpath的根目录
在Test1.java中,可以通过如下方式访问1.txt和2.txt
this.getClass().getResourceAsStream("1.txt");
this.getClass().getResourceAsStream("../test2/1.txt");
访问config.properties
this.getClass().getClassLoader().getResourceAsStream("config.properties");
另外,如果想获得File对象,可以分别使用
this.getClass().getResource(fileName).getFile();
this.getClass().getClassLoader().getResource(fileName).getFile();
本文介绍了Java中通过Class对象加载资源文件的两种方法:一种是从当前类所在的包开始搜索,另一种是从类路径开始搜索。此外还说明了如何通过这两种方法获取File对象。
9888

被折叠的 条评论
为什么被折叠?



