java执行时获取类所在的位置
时间: 2023-11-28 18:47:58 浏览: 33
在 Java 中,可以使用 `Class` 类的 `getResource()` 或 `getResourceAsStream()` 方法获取类所在位置的 URL 或 InputStream。
例如,假设有一个名为 `MyClass` 的类,可以使用以下代码获取该类所在的位置:
```java
URL url = MyClass.class.getResource("MyClass.class");
if (url != null) {
String path = url.getPath();
System.out.println(path);
}
```
这将输出类所在位置的绝对路径。
如果需要获取类所在位置的目录,可以使用以下代码:
```java
URL url = MyClass.class.getResource("");
if (url != null) {
String path = url.getPath();
System.out.println(path);
}
```
这将输出类所在位置的目录的绝对路径。
相关问题
java代码获取jar包所在的文件位置
可以使用以下代码获取当前运行的jar包所在的文件位置:
```java
String jarFilePath = new File(YourClassName.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()).getParentFile().getPath();
```
其中,`YourClassName`是你要获取jar包所在位置的类名。这段代码会获取当前类所在的jar包文件位置的父目录路径。如果你想要获取其他jar包的位置,在`YourClassName`中填写对应的类名即可。
java在执行jar包时,获取执行jar包所在的文件位置
可以使用以下代码获取执行jar包所在的文件位置:
```java
String jarPath = YourClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();
```
其中,`YourClass` 是你想要获取执行jar包位置的类名。这段代码会获取该类所在的jar包位置,因为在执行jar包时,该类也会被打包进去。
注意,该方法在IDE中运行时会返回项目编译后的class文件所在的位置,而不是jar包所在的位置。因此在测试时要注意。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)