(一)Class类中的getResource方法的用法:
Class类中的getResource(" ")方法是指,通过传入的文件名去获取对应文件名的资源地址。
(1)Test2.class.getResource("/a.txt"):是指在Test2这个类的字节码文件所在的根目录下(也就是bin目录下)获取a.txt文件的资源地址,如果bin目录下不存在a.txt,则返回null
file:/E:/work/review/HigherProgram/bin/
(2)Test2.class.getResource("a.txt"):是指在Test2这个类的字节码文件所在的目录下获取a.txt文件的资源地址,如果Test2这个类的字节码文件所在的目录不存在a.txt文件则返回null
file:/E:/work/review/HigherProgram/bin/com/briup/io/day3/
getResource(" ")的返回值是一个URL类型的统一资源定位符,file开头表示是本地资源,http/https表示是网络资源
(二)获取路径
(1)获取当前类的字节码文件所在的根路径
Test2.class.getResource("/").getPath();
System.getProperty("java.class.path");
E:/work/review/HigherProgram/bin/
(2)获取当前类的字节码文件的目录
Test2.class.getResource("").getPath();
E:/work/review/HigherProgram/bin/com/briup/io/day3/
(3)获取当前文件所在盘符的根目录
File f = new File("/");
System.out.println(f.getCanonicalPath());
E:\
【注意】在linux操作系统当中,使用斜杠【/】表示根路径,但是在windows操作系统中,通常使用各个盘符表示根路径,也可以使用【/】表示根路径,只是我们不经常这样去使用。
(4)获取项目的路径
File f = new File("");
System.out.println(f.getCanonicaPath());
System.getProperty("user.dir");
E:\work\review\HigherProgram
【注意】在一个项目下,除了根路径以外,所有的路径都是相对于项目路径而言的,所以""就是相对的项目路径,调用getCanonicaPath获取的就是项目的路径