Java פונקציות עבור הפרדת קבצים, separatorChar, הפרדת נתיבים, pathSeparatorChar

כיתת java.io.File מכילה ארבע משתנים סטטיים של מפריד. כאן נלמד עליהם ומתי להשתמש בהם.

  1. File.separator: תו המפריד של שם ברירת המחדל תלוי פלטפורמה כתחריר מחרוזת. למערכות Windows, זה ' \ ' ולמערכות Unix, זה ' / '.
  2. File.separatorChar: זהה למפריד אך כעת זה תו.
  3. File.pathSeparator: משתנה תלוי פלטפורמה עבור מפריד נתיב. לדוגמה, במערכות Unix רשימת הנתיבים של משתנה PATH או CLASSPATH מופרדת באמצעות ':' ובמערכות Windows באמצעות ';'.
  4. File.pathSeparatorChar: זהה ל pathSeparator אך זה תו.

מפריד קובץ Java

שימו לב שכל אלה הם משתנים סופיים ותלויים במערכת. הנה התוכנית ב-Java להדפסת משתני המפריד.

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

}

פלט של התוכנית למערכת Unix:

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

פלט של התוכנית למערכת Windows:

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

כדי להפוך את התוכנית שלנו לאלכסונית לפלטפורמה, יש להשתמש תמיד במפרידים אלו כדי ליצור נתיב קובץ או לקרוא לכל משתני המערכת כמו PATH, CLASSPATH. הנה קטע הקוד המראה איך להשתמש במפרידים בצורה נכונה.

//אין תלות פלטפורמה, מתאים למערכות Unix
File fileUnsafe = new File("tmp/abc.txt");

//פלטפורמה תלת-אופקית ובטוח לשימוש במערכות Unix ו-Windows
File fileSafe = new File("tmp"+File.separator+"abc.txt");

זהו כל הדבר בנוגע למפרידי קבצים, נלמד עוד על java io בפוסטים הבאים.

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