Comment construire un chemin de fichier en Java

Comment construire un chemin de fichier en Java

Dans ce tutoriel, nous allons vous montrer trois exemples Java pour construire un chemin de fichier:

  1. File.separator or System.getProperty(“file.separator”) (Recommended)

  2. Fichier fichier = nouveau fichier (workingDir, nom de fichier); (Conseillé)

  3. 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,

  1. Windows =\

  2. * 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!