1访问 文件 1) 相对路径 在project中,相对路径的根目录是project的根文件夹, 创建文件的写法是: File f = new File(“src/com/lavasoft/res/a.txt”); File f = new File(“./a.txt”); (注:./的含义) 如果想在src下创建目录: File f = new File(“src/a.txt”); 注意: 路径不以“/”开头;
2)在classpath中读取文件( classpath指向哪里)
Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。
Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。
Class 和ClassLoder 的 getResource 获取的是url 需要通过构造方法生成File 进而生成流, 而getResourceAsStream直接返回的是InputStream
File file = new File(Objects.requireNonNull(App.class.getClassLoader() .getResource("com/xuan/test.txt")).getFile()); InputStream fileInputStream =new FileInputStream(file);注意: 必须要在pom.xml文件中 设置,否则maven将不会把该文件加入jar包,自然无法在classpath中被找到
<resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.txt</include> </includes> <filtering>false</filtering> </resource> </resources>2访问没有spring管理的wen-inf下的jsp文件 3 ${pageContext.request.contextPath} <%=request.getContextPath()%> https://blog.csdn.net/u011848397/article/details/52184069