Comment écrire le chemin pour obtenir le fichier en java
Nous devons obtenir le fichier de ressources lors du téléchargement fichiers et chemin de traitement des fichiers. Cependant, le chemin du fichier obtenu dans le projet peut ne pas être le chemin du fichier souhaité, car le chemin obtenu dans le projet de développement n'est pas cohérent avec le chemin après la création du package jar. (Tutoriel recommandé : tutoriel Java)
1. Obtenez le chemin de la ressource
String filePath = this.getClass().getResource("").getPath(); System.out.println("filePath: " + filePath);
Le chemin affiché dans le développement du projet :
filePath: /home/idea/project/java_basic/selfimpr-fileupload/target/classes/com/selfimpr/fileupload/controller/
Le chemin dans le package jar du projet :
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 Obtenez le chemin de compilation du fichier du projet
String filePath = this.getClass().getResource("/").getPath(); System.out.println("filePath: " + filePath);
Le chemin indiqué dans le développement du projet. : Le chemin de
filePath: file:/home/idea/project/java_basic/selfimpr-fileupload/target/classes/
dans le package jar du projet :
filePath: file:/home/idea/project/java_basic/selfimpr-fileupload/target/selfimpr-fileupload-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/
3 Obtenez le chemin racine du projet (1)
File files = new File(""); String filePath = files.getCanonicalPath(); System.out.println("filePath: " + filePath);
filePath: /home/idea/project/java_basic
filePath: /home/idea/project/java_basic/selfimpr-fileupload/target
4 Obtenir le chemin racine du projet (2)
String filePath = System.getProperty("user.dir"); System.out.println("filePath: " + filePath);
Le chemin dans le package jar du projet :
5 L'environnement de développement et l'environnement jar peuvent utiliser
/* 此方法,传入参数为String,不能带/ */ resourceAsStream = this.getClass().getClassLoader().getResourceAsStream("/templates" + url); /* 此方法,传入参数为String,不能带/ */ resourceAsStream = this.getClass().getResourceAsStream("/templates" + url);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!