是否有可能获取正在执行的文件名。比如,如果我正在运行一个JAR文件,并且想要添加代码功能来检测文件名,以便如果这个JAR文件被重命名,代码应该能够检测到。
是否有任何可能在不扫描当前目录中的文件的情况下实现这一点?
是否有可能获取正在执行的文件名。比如,如果我正在运行一个JAR文件,并且想要添加代码功能来检测文件名,以便如果这个JAR文件被重命名,代码应该能够检测到。
是否有任何可能在不扫描当前目录中的文件的情况下实现这一点?
试试这个:
String path = Test.class.getProtectionDomain().getCodeSource().getLocation().getPath();
String decodedPath = URLDecoder.decode(path, "UTF-8");
http://www.rgagnon.com/javadetails/java-0300.html
http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getProtectionDomain()
http://docs.oracle.com/javase/7/docs/api/java/security/ProtectionDomain.html
你可以检查 System.getEnv() 是否有一些值指示哪个文件被调用了