Java-编程技巧
参考文献
Java
获取资源路径
-
Java中获取资源时,经常使用
class.getResource()
和ClassLoader.getResource
获取资源时,获取的是编译之后的class
文件资源,而不是获取Java
源码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53package com.holelin.sundry.demo;
import org.springframework.core.io.ClassPathResource;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.stream.Stream;
/**
* @Description:
* @Author: HoleLin
* @CreateDate: 2020/7/29 15:24
* @UpdateUser: HoleLin
* @UpdateDate: 2020/7/29 15:24
* @UpdateRemark: 修改内容
* @Version: 1.0
*/
public class GetResourceTest {
public static void main(String[] args) throws IOException {
// path不以'/'开头,默认是从此类所在的包下面取资源
System.out.println(GetResourceTest.class.getResource(""));
// path以'/'开头,则是从classpath根下获取
System.out.println(GetResourceTest.class.getResourceAsStream("/"));
// path是从classpath根获取的
System.out.println(GetResourceTest.class.getClassLoader().getResource(""));
// path不能以'/'开头
System.out.println(GetResourceTest.class.getClassLoader().getResource("/"));
// 在Spring框架下
File file = org.springframework.util.ResourceUtils.getFile("classpath:application.yml");
File dir = org.springframework.util.ResourceUtils.getFile("classpath:template");
// File dir2 = org.springframework.util.ResourceUtils.getFile("classpath:template");
ClassPathResource classPathResource = new ClassPathResource("template/");
// ClassPathResource classPathResource2 = new ClassPathResource("template");
System.out.println("isFile:" + classPathResource.getFile().isFile());
System.out.println("isDirectory:" + classPathResource.getFile().isDirectory());
try (Stream<Path> paths = Files.walk(classPathResource.getFile().toPath())) {
paths.forEach(System.out::println);
}
}
}
Output
file:/Users/holelin/Projects/MySelf/Java-Notes/sundry/target/classes/com/holelin/sundry/demo/
java.io.ByteArrayInputStream@192b07fd
file:/Users/holelin/Projects/MySelf/Java-Notes/sundry/target/classes/
null
isFile:false
isDirectory:true
/Users/holelin/Projects/MySelf/Java-Notes/sundry/target/classes/template
/Users/holelin/Projects/MySelf/Java-Notes/sundry/target/classes/template/1.txt
Ubuntu
查找JDK
的安装位置
-
使用
update-alternatives --display name
命令查看1
2
3
4
5
6
7
8
9# update-alternatives --display java
java - auto mode
link best version is /usr/lib/jvm/java-17-openjdk-amd64/bin/java
link currently points to /usr/lib/jvm/java-17-openjdk-amd64/bin/java
link java is /usr/bin/java
slave java.1.gz is /usr/share/man/man1/java.1.gz
/usr/lib/jvm/java-17-openjdk-amd64/bin/java - priority 1711
slave java.1.gz: /usr/lib/jvm/java-17-openjdk-amd64/man/man1/java.1.gz
root@ai-dev:/home/junlinchen/dockerfile/jenkins# cd /usr/lib/jvm/java-17-openjdk-amd64
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HoleLin's Blog!