javaweb获取类路径下资源
- 项目结构:
-
类路径:指的是编译后的class文件的位置,如果是IDEA的话,一般在\项目名\out\artifacts\项目扩展名WEB-INF\classes\a.txt
-
编译后文件路径
-
获取类路径下资源的方式
-
ClassLoader
java @Controller public class PathController { @RequestMapping("/path") public void testPath() throws IOException { //如果资源文件不是直接在src下,而是在其他包下面,要改成 getResourceAsStream("com/haominglfs/test/a.txt") 开头没有斜杠 InputStream resourceAsStream = this.getClass().getClassLoader().getResourceAsStream("a.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(resourceAsStream,"UTF-8")); String s = br.readLine(); System.out.println(s); } }
-
Class
//得到Class Class c = this.getClass(); //相对于当前.class文件所在目录,开头还是没有斜杆的 InputStream input = c.getResourceAsStream("a.txt");
如果资源文件和.class文件不同目录
java getResourceAsStream("/a.txt"); 注意:这里加了一个斜杆