【Java】取当前.class文件的编译位置

本文与《【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

posted on 2017-05-02 20:37  slgkaifa  阅读(960)  评论(0编辑  收藏  举报

导航