Comment construire un chemin de fichier en Java
Dans ce tutoriel, nous allons vous montrer trois exemples Java pour construire un chemin de fichier:
-
File.separator or System.getProperty(“file.separator”) (Recommended)
-
Fichier fichier = nouveau fichier (workingDir, nom de fichier); (Conseillé)
-
Créez le séparateur de fichiers manuellement. (Ne recommande pas, juste pour le plaisir)
1. File.separator
Exemple Java classique pour construire un chemin de fichier, en utilisantFile.separator
ouSystem.getProperty("file.separator")
. Les deux vont vérifier le système d'exploitation et renvoyer correctement le séparateur de fichiers, par exemple,
-
Windows =
\
-
* nix ou Mac =
/
FilePathExample1.java
package com.example.file; import java.io.File; import java.io.IOException; public class FilePathExample1 { public static void main(String[] args) { try { String filename = "newFile.txt"; String workingDirectory = System.getProperty("user.dir"); //****************// String absoluteFilePath = ""; //absoluteFilePath = workingDirectory + System.getProperty("file.separator") + filename; absoluteFilePath = workingDirectory + File.separator + filename; System.out.println("Final filepath : " + absoluteFilePath); //****************// File file = new File(absoluteFilePath); if (file.createNewFile()) { System.out.println("File is created!"); } else { System.out.println("File is already existed!"); } } catch (IOException e) { e.printStackTrace(); } } }
Sortie
Final filepath : /Users/example/Documents/workspace/maven/fileUtils/newFile.txt File is created!
2. nouveau fichier()
Certains développeurs utilisent l'APInew File()
pour construire le chemin du fichier.
FilePathExample2.java
package com.example.file; import java.io.File; import java.io.IOException; public class FilePathExample2 { public static void main(String[] args) { try { String filename = "newFile.txt"; String workingDirectory = System.getProperty("user.dir"); //****************// File file = new File(workingDirectory, filename); //****************// System.out.println("Final filepath : " + file.getAbsolutePath()); if (file.createNewFile()) { System.out.println("File is created!"); } else { System.out.println("File is already existed!"); } } catch (IOException e) { e.printStackTrace(); } } }
Sortie
Final filepath : /Users/example/Documents/workspace/maven/fileUtils/newFile.txt File is created!
3. Séparateur de fichiers manuel
Vérifiez le système d'exploitation du système et créez le chemin du fichier manuellement, juste pour le plaisir, pas recommandé.
FilePathExample3.java
package com.example.file; import java.io.File; import java.io.IOException; public class FilePathExample3 { public static void main(String[] args) { try { String filename = "testing.txt"; String workingDir = System.getProperty("user.dir"); String absoluteFilePath = ""; //****************// String your_os = System.getProperty("os.name").toLowerCase(); if (your_os.indexOf("win") >= 0) { //if windows absoluteFilePath = workingDir + "\\" + filename; } else if (your_os.indexOf("nix") >= 0 || your_os.indexOf("nux") >= 0 || your_os.indexOf("mac") >= 0) { //if unix or mac absoluteFilePath = workingDir + "/" + filename; }else{ //unknow os? absoluteFilePath = workingDir + "/" + filename; } System.out.println("Final filepath : " + absoluteFilePath); //****************// File file = new File(absoluteFilePath); if (file.createNewFile()) { System.out.println("Done"); } else { System.out.println("File already exists!"); } } catch (IOException e) { e.printStackTrace(); } } }
Sortie
Final filepath : /Users/example/Documents/workspace/maven/fileUtils/newFile.txt File is created!