Класс java.io.File
содержит четыре разделителя пути файла. Сегодня мы узнаем зачем они нужны и как использовать эти разделители.
Немного теории по каждом разделителе пути файла
- Переменная File separator — платформозависимый символ, который используется для разделения каталогов на пути к файлу. Например, для Windows это
'\'
, а для UNIX это'/'
. - Переменная separatorChar — тот же в разделитель, но представляет собой символ
char
. - Переменная pathSeparator: платформозависимая переменная, которая используется в PATH или CLASSPATH. Представляет собой разделитель
':'
в Unix системах и';'
в системе Windows. - Переменная pathSeparatorChar: то же самое, что и pathSeparator, но является символом
char
.
Разделитель пути файла на практике
Вот Java программа, которая печатает в консоль эти разделители:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
package ua.com.prologistic; 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); } } |
Результат выполнения программы в Unix-системах:
1 2 3 4 |
File.separator = / File.separatorChar = / File.pathSeparator = : File.pathSeparatorChar = : |
Результат выполнения программы в Windows-системах:
1 2 3 4 |
File.separator = \ File.separatorChar = \ File.pathSeparator = ; File.pathSeparatorChar = ; |
Для того, чтобы наша программа была платформонезависимой, мы должны всегда использовать эти разделители для создания пути к файлу.
Пример правильного использования File.separator
1 2 |
//платформонезависимый и безопасный подход создания пути к файлу как в Unix, так и в Windows File fileSafe = new File("tmp"+File.separator+"filename.txt") |
Вот и все, что нужно знать о разделителях файлов в Java. Следите за обновлением раздела Java IO.