How to write the path to obtain the file in java
We need to obtain the resource file when uploading files and processing files path of. However, the file path obtained in the project may not be the file path we want, because the path obtained in the development project is not consistent with the path after making the jar package. (Recommended tutorial: java tutorial)
1. Get the resource path
String filePath = this.getClass().getResource("").getPath(); System.out.println("filePath: " + filePath);
The path displayed in project development:
filePath: /home/idea/project/java_basic/selfimpr-fileupload/target/classes/com/selfimpr/fileupload/controller/
The path in the jar package of the project:
filePath: file:/home/idea/project/java_basic/selfimpr-fileupload/target/selfimpr-fileupload-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/com/selfimpr/fileupload/controller/
2. Get the project file compilation path
String filePath = this.getClass().getResource("/").getPath(); System.out.println("filePath: " + filePath);
The path displayed during project development:
filePath: file:/home/idea/project/java_basic/selfimpr-fileupload/target/classes/
The path in the jar package of the project:
filePath: file:/home/idea/project/java_basic/selfimpr-fileupload/target/selfimpr-fileupload-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/
3. Get the project root path (1)
File files = new File(""); String filePath = files.getCanonicalPath(); System.out.println("filePath: " + filePath);
In The path displayed during project development:
filePath: /home/idea/project/java_basic
The path in the jar package of the project:
filePath: /home/idea/project/java_basic/selfimpr-fileupload/target
4. Obtain the project root path (2)
String filePath = System.getProperty("user.dir"); System.out.println("filePath: " + filePath);
The path shown in the project development:
filePath: /home/idea/project/java_basic
The path in the project jar package:
filePath :/home/idea/project/java_basic/selfimpr-fileupload/target
5. Both development environment and jar environment can use the project path obtained by this method
/* 此方法,传入参数为String,不能带/ */ resourceAsStream = this.getClass().getClassLoader().getResourceAsStream("/templates" + url); /* 此方法,传入参数为String,不能带/ */ resourceAsStream = this.getClass().getResourceAsStream("/templates" + url);
, whether it is during compilation or in the environment of a jar package, the files in the resources path can be obtained.
The above is the detailed content of How to write the path of a file in java. For more information, please follow other related articles on the PHP Chinese website!