Separador de Arquivo Java, separatorChar, Separador de Caminho, pathSeparatorChar

A classe java.io.File contém quatro variáveis separadoras estáticas. Aqui vamos aprender sobre elas e quando utilizá-las.

  1. File.separator: Caractere separador de nome padrão dependente da plataforma como String. Para Windows, é ‘\’ e para Unix é ‘/’.
  2. File.separatorChar: O mesmo que separator, mas é um char.
  3. File.pathSeparator: Variável dependente da plataforma para separador de caminho. Por exemplo, a lista de variáveis PATH ou CLASSPATH com caminhos separados por ‘:’ em sistemas Unix e ‘;’ em sistemas Windows.
  4. File.pathSeparatorChar: O mesmo que pathSeparator, mas é um char.

Separador de arquivo Java

Observe que todas essas são variáveis finais e dependentes do sistema. Aqui está o programa Java para imprimir essas variáveis separadoras.

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

}

Saída do programa acima em sistema Unix:

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

Saída do programa em sistema Windows:

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

Para tornar nosso programa independente de plataforma, devemos sempre utilizar esses separadores para criar caminhos de arquivo ou ler quaisquer variáveis do sistema como PATH, CLASSPATH. Aqui está um trecho de código mostrando como usar os separadores corretamente.

//sem independência de plataforma, bom para sistemas Unix
File fileUnsafe = new File("tmp/abc.txt");

//independente de plataforma e seguro para uso em Unix e Windows
File fileSafe = new File("tmp"+File.separator+"abc.txt");

Tudo sobre separadores de arquivos, aprenderemos mais sobre java io em futuras postagens.

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