我们想要在程序里读取其他文件时,需要使用文件路径,一般来说参数都是一个String字符串,在编译/解释时只能发现一部分问题(比如路径写法不规范),使用拼字符串的方法的话更是难以在写程序的时候就发现问题,最后是否成功读取还是要看运行结果。如果我们积累一些文件路径写法的经验,就可以大大提高在程序里读取文件的成功率。
首先,java空项目的根目录是创建的路径,如D:\\projects\\demo。正常我们在文件管理器中看到的路径只有一个“\”,而java中的“\”是转义字符,这样的条件下写“\\”才是实际上的“\”。当然,写“\\”比较麻烦,可以直接用“/”写,在Windows中效果是一样的。像上面这样的从盘符开始写的是绝对路径,而从项目根目录开始写的是相对路径,其中的斜杠只能用“/”。
在web项目中,根目录是服务器的路径,以本地端口运行war包为例,根目录是127.0.0.1。如果是web项目,就是webapp(在idea里体现为有特殊标记的文件夹)。web项目不要使用绝对路径,写URL访问资源一律要用“/”。
路径跳转:
1.“../”表示上一级目录。
2.连续使用/表示在当前目录下继续前进到指定目录。
3.直接写文件名或路径、“/”加上文件名或路径、“./”加上文件名或路径,都表示访问本目录或文件。
还可以调用一些方法,返回当前路径:
String path=System.getProperty("user.dir"); // java
ServletContext s1=this.getServletContext(); //Servlet中使用
String path=s1.getRealPath("/");
<%=request.getContextPath()%> // JS脚本
${pageContext.request.contextPath} // EL表达式