本文与《【C++】求当前exe的执行路径》(点击打开链接)为姊妹篇。C++在win下生成的执行文件是.exe。Java生成的执行文件是.class然后自己主动扔到Java虚拟机中执行。主要是用于弄些场合须要获取这个.class的路径中所使用,增强程序的可移植性。
取法相同简单。可是这段程序是与程序的主类名有关的,正如Java的文件命名必须与程序的主类名一样的道理,
例如以下程序:
public class B { public static void main(String[] args) { String rootPath = B.class.getResource("").getFile(); System.out.println(rootPath); } }
其执行结果就能取出B.java这个文件编译之后的位置。例如以下图:
当中B.class.getResource("").getFile();这一句的B就是当前的主类名B