Séparateur de fichier Java, separatorChar, séparateur de chemin, pathSeparatorChar

La classe java.io.File contient quatre variables de séparateur statiques. Nous allons apprendre à leur sujet et quand les utiliser.

  1. File.separator : Caractère de séparateur par défaut dépendant de la plateforme en tant que chaîne de caractères. Pour Windows, c’est ‘\’ et pour Unix, c’est ‘/’.
  2. File.separatorChar : Identique à separator mais c’est un caractère.
  3. File.pathSeparator : Variable dépendante de la plateforme pour le séparateur de chemin. Par exemple, la variable PATH ou CLASSPATH contient une liste de chemins séparés par ‘:’ dans les systèmes Unix et par ‘;’ dans les systèmes Windows.
  4. File.pathSeparatorChar : Identique à pathSeparator mais c’est un caractère.

Java File separator

Il convient de noter que toutes ces variables sont finales et dépendantes du système. Voici le programme Java pour afficher ces variables de séparateur.

package com.journaldev.files;

import java.io.File;

public class FileSeparator {

    public static void main(String[] args) {
        System.out.println("File.separator = "+File.separator);
        System.out.println("File.separatorChar = "+File.separatorChar);
        System.out.println("File.pathSeparator = "+File.pathSeparator);
        System.out.println("File.pathSeparatorChar = "+File.pathSeparatorChar);
    }

}

Résultat du programme ci-dessus sur un système Unix :

File.separator = /
File.separatorChar = /
File.pathSeparator = :
File.pathSeparatorChar = :

Résultat du programme sur un système Windows :

File.separator = \
File.separatorChar = \
File.pathSeparator = ;
File.pathSeparatorChar = ;

Pour rendre notre programme indépendant de la plateforme, nous devrions toujours utiliser ces séparateurs pour créer des chemins de fichiers ou lire des variables système comme PATH, CLASSPATH. Voici un extrait de code montrant comment utiliser correctement les séparateurs.

//pas de plateforme indépendante, bon pour les systèmes Unix
File fileUnsafe = new File("tmp/abc.txt");

//indépendant de la plateforme et sûr à utiliser sur Unix et Windows
File fileSafe = new File("tmp"+File.separator+"abc.txt");

C’est tout pour les séparateurs de fichiers, nous en apprendrons davantage sur java io dans les prochains articles.

Source:
https://www.digitalocean.com/community/tutorials/java-file-separator-separatorchar-pathseparator-pathseparatorchar