我知道如何检查特定目录或特定目录中的文件,但我无法弄清楚如何检查正在运行的jar之外但与其位于同一目录中的文件: Test.jar - Ran - >获取Test.file的位置 TEST.FILE
回答 - 谢谢!
这很有效;
final Class<?> referenceClass = Client.class;
final URL url = referenceClass.getProtectionDomain().getCodeSource().getLocation();
try{
final File jarPath = new File(url.toURI()).getParentFile();
System.out.println(jarPath);
} catch(final URISyntaxException e){
// etc.
}
答案 0 :(得分:1)
您可以使用createNewFile()操作创建新文件,获取该文件的位置并再次删除该文件。新文件将在与运行jar文件的位置相同的位置生成。
答案 1 :(得分:1)
在此帖子中使用ProtectionDomain
呈现了一种可能的解决方案:Loading a file relative to the executing jar file
答案 2 :(得分:0)
对于已知在该JAR文件中的任何类,Class.getProtectionDomain().getCodeSource().getLocation()
给出了JAR文件的位置。