介绍
绝对路径:以盘符为开始的路径
相对路径:以某一个基路径为开头的路径。这个基路径就是java.io默认定位到的当前用户目录("user.dir")(即工程根目录)。
案例
从普通java类中读取项目下的a.txt文件。
则相对路径为:src/main/java/com/example/heima/a.txt;
public static void main(String[] args) throws FileNotFoundException { FileInputStream fileInputStream = new FileInputStream("src/main/java/com/example/heima/a.txt"); int len = 0; byte [] bytes = new byte[1024]; try { while ( (len = fileInputStream.read(bytes)) != -1){ System.out.println(new String(bytes,0,len)); } } catch (IOException e) { e.printStackTrace(); } }
注意:在Servlet里。Java.io定位路径改为tomca的bin目录。所以Servlet里用相对路径访问不到目录下的文件。
如何看文件的相对路径:通过file.getAbsolutePath()。可以查看文件的相对路径,而不顾此文件是否存在。
读取JavaWeb项目下的文件,使用ServletContext.getRealPath():根据ServletContext上下文路径(target目录下快照文件)返回绝对路径
小点:resource里的文件,会放到web-inf下的classes文件