La classe java.io.File contiene quattro variabili statiche di separatore. Qui impareremo su di esse e quando utilizzarle.
- File.separator: Carattere di separazione predefinito dipendente dalla piattaforma come stringa. Per Windows, è ‘\’ e per Unix è ‘/’.
- File.separatorChar: Come separator ma è un carattere.
- 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.
- 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.