Separatore di file Java, separatorChar, Separatore di percorso, pathSeparatorChar

La classe java.io.File contiene quattro variabili statiche di separatore. Qui impareremo su di esse e quando utilizzarle.

  1. File.separator: Carattere di separazione predefinito dipendente dalla piattaforma come stringa. Per Windows, è ‘\’ e per Unix è ‘/’.
  2. File.separatorChar: Come separator ma è un carattere.
  3. File.pathSeparator: Variabile dipendente dalla piattaforma per il separatore di percorso. Ad esempio PATH o elenco di percorsi della variabile CLASSPATH separati da ‘:’ nei sistemi Unix e ‘;’ nei sistemi Windows.
  4. File.pathSeparatorChar: Come pathSeparator ma è un carattere.

Separatore di file Java

Nota che tutte queste sono variabili finali e dipendenti dal sistema. Ecco il programma Java per stampare queste variabili di separatore.

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);
    }

}

Output del programma precedente su sistema Unix:

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

Output del programma su sistema Windows:

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

Per rendere il nostro programma indipendente dalla piattaforma, dovremmo sempre utilizzare questi separatori per creare percorsi di file o leggere qualsiasi variabile di sistema come PATH, CLASSPATH. Ecco il frammento di codice che mostra come utilizzare correttamente i separatori.

//nessuna indipendenza di piattaforma, buona per sistemi Unix
File fileUnsafe = new File("tmp/abc.txt");

//indipendente dalla piattaforma e sicuro da utilizzare su Unix e Windows
File fileSafe = new File("tmp"+File.separator+"abc.txt");

Questo è tutto per i separatori di file, impareremo di più su java io nei prossimi articoli.

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