java获取当前jar包的上一级目录
时间: 2023-01-11 21:55:36 浏览: 161
可以使用以下代码来获取当前jar包的上一级目录:
```
File jarFile = new File(Main.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
File jarDir = jarFile.getParentFile();
```
其中,`Main.class` 是当前类的类对象。这段代码先使用 `getProtectionDomain().getCodeSource().getLocation().toURI().getPath()` 获取当前jar文件的路径,然后使用 `File` 类的 `getParentFile()` 方法获取上一级目录。
注意,如果当前程序不是运行在jar文件中,则该方法可能会无效。
相关问题
java获取jar包同目录下的文件路径
可以使用以下代码获取jar包同目录下的文件路径:
```java
String filePath = new File(getClass().getProtectionDomain().getCodeSource().getLocation().getPath()).getParent() + "/file.txt";
```
这段代码中,`getClass().getProtectionDomain().getCodeSource().getLocation().getPath()`获取到的是当前正在执行的jar包的路径,再通过`getParent()`方法获取到jar包所在目录的路径,最后与文件名拼接即可获取到文件的完整路径。
java获取执行jar包所在的路径
在Java中获取执行jar包所在的路径可以使用以下方法:
```java
String path = YourClassName.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();
```
其中,`YourClassName`是你的Java类名。这行代码会返回一个字符串,其中包含了执行jar包所在的路径。
需要注意的是,如果你在Eclipse或其他集成开发环境中运行Java程序,可能会得到该IDE的安装路径,而不是执行jar包所在的路径。因此,最好在命令行中运行Java程序来获取正确的路径。