| Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
java:class_path [2017/02/07 09:49] gthanos [Μετατροπή ενός Path] |
java:class_path [2017/02/07 12:57] gthanos [Μετατροπή ενός Path] |
| ====== Η κλάση Path ====== | ====== Το interface Path ====== |
| |
| Η κλάση [[http://docs.oracle.com/javase/7/docs/api/java/nio/file/Path.html|Path]] αποτελεί προγραμματική αναπαράσταση ενός μονοπατιού στο σύστημα αρχείων (//filesystem//). | Το interface [[http://docs.oracle.com/javase/7/docs/api/java/nio/file/Path.html|Path]] αποτελεί προγραμματική αναπαράσταση ενός μονοπατιού στο σύστημα αρχείων (//filesystem//). |
| |
| Καθε αντικείμενο της κλάσης //Path// λαμβάνει υπόψη του τις ιδιαιτερότητες του λειτουργικού συστήματος. Στο λειτουργικό σύστημα GNU/Linux, ένα //Path// χρησιμοποιεί τη σύνταξη (/home/Joe/foo), ενώ στο Microsoft Windows, ένα //Path// χρησιμοποιεί τη σύνταξη (C:\home\Joe\foo). | Κάθε αντικείμενο που υλοποιεί το interface //Path// λαμβάνει υπόψη του τις ιδιαιτερότητες του λειτουργικού συστήματος. Στο λειτουργικό σύστημα GNU/Linux, ένα //Path// χρησιμοποιεί τη σύνταξη (/home/Joe/foo), ενώ στο Microsoft Windows, ένα //Path// χρησιμοποιεί τη σύνταξη (C:\home\Joe\foo). |
| |
| Το αρχείο ή η διεύθυνση που αντιστοιχεί σε ένα αντικείμενο τύπου //Path// μπορεί να μην υπάρχει. Μπορούμε να δημιουργήσουμε ένα υφιστάμενο ή μη υφιστάμενο //Path// και να το χειριστούμε με διάφορους τρόπους. Για παράδειγμα, μπορούμε να εξάγουμε τμήματα από αυτό ή ακόμα και να το συγκρίνουμε με ένα άλλο //Path//. Επίσης, μπορούμε να χρησιμοποιήσουμε τις μεθόδους της κλάσης [[java:class_file|File]] για να ελέγξουμε την ύπαρξη του αρχείου ή του καταλόγου που αντιστοιχεί στο //Path//, να δημιουργήσουμε το αρχείο εάν δεν υπάρχει, να το ανοίξουμε, να το διαγράψουμε, να του αλλάξουμε τα δικαιώματά κ.α. | Το αρχείο ή η διεύθυνση που αντιστοιχεί σε ένα αντικείμενο τύπου //Path// μπορεί να μην υπάρχει. Μπορούμε να δημιουργήσουμε ένα //Path// προκειμένου να εξάγουμε τμήματα από αυτό ή να το συγκρίνουμε με ένα άλλο //Path//. Επίσης, μπορούμε να χρησιμοποιήσουμε τις μεθόδους της κλάσης [[java:class_file|File]] για να ελέγξουμε την ύπαρξη του αρχείου ή του καταλόγου που αντιστοιχεί στο //Path//, να δημιουργήσουμε το αρχείο εάν δεν υπάρχει, να το ανοίξουμε, να το διαγράψουμε, να του αλλάξουμε τα δικαιώματά κ.α. |
| |
| ==== Δημιουργώντας ένα Path ==== | ==== Δημιουργώντας ένα Path ==== |
| ==== Ανάκτηση πληροφοριών σχετικά με ένα Path ==== | ==== Ανάκτηση πληροφοριών σχετικά με ένα Path ==== |
| |
| Μπορείτε να σκεφτείτε το //Path// ως την αποθήκευση αυτών των στοιχείων ονομάτων σαν μια ακολουθία. Το υψηλότερο στοιχείο στην δομή του καταλόγου θα βρίσκεται στη θέση 0 και το χαμηλότερο στοιχείο στην δομή διευθύνσεων θα βρίσκεται στη θέση //[n-1]// (όπου //n// είναι ο αριθμός των στοιχείων ονομάτων στο //Path//). Η κλάση //Path// παρέχει μεθόδους για την ανάκτηση μεμονωμένων στοιχείων ή τμημάτων του //Path// | Μπορείτε να σκεφτείτε το //Path// ως την αποθήκευση αυτών των στοιχείων ονομάτων σε μια ακολουθία. Το υψηλότερο στοιχείο στην δομή του καταλόγου θα βρίσκεται στη θέση 0 και το χαμηλότερο στοιχείο στην δομή διευθύνσεων θα βρίσκεται στη θέση //[n-1]// (όπου //n// είναι ο αριθμός των στοιχείων ονομάτων στο //Path//). Η κλάση //Path// παρέχει μεθόδους για την ανάκτηση μεμονωμένων στοιχείων ή τμημάτων του //Path// |
| |
| Τα παραδείγματα που θα χρησιμοποιήσουμε παρακάτω χρησιμοποιούν την ακόλουθη δομή διευθύνσεων. | Τα παραδείγματα που θα χρησιμοποιήσουμε παρακάτω χρησιμοποιούν την ακόλουθη δομή διευθύνσεων. |
| |
| Για να "καθαρίσουμε" ένα μονοπάτι, διασφαλίζοντας παράλληλα ότι το αποτέλεσμα εντοπίζει το σωστό αρχείο, μπορούμε να χρησιμοποιήσουμε τη μέθοδο //toRealPath//, η οποία περιγράφεται παρακάτω. | Για να "καθαρίσουμε" ένα μονοπάτι, διασφαλίζοντας παράλληλα ότι το αποτέλεσμα εντοπίζει το σωστό αρχείο, μπορούμε να χρησιμοποιήσουμε τη μέθοδο //toRealPath//, η οποία περιγράφεται παρακάτω. |
| | |
| ==== Μετατροπή ενός Path ==== | ==== Μετατροπή ενός Path ==== |
| |
| * Αν το //Path// περιλαμβάνει τυχόν περιττά στοιχεία (//loops//), επιστρέφει ένα μονοπάτι χωρίς αυτά τα στοιχεία. | * Αν το //Path// περιλαμβάνει τυχόν περιττά στοιχεία (//loops//), επιστρέφει ένα μονοπάτι χωρίς αυτά τα στοιχεία. |
| |
| |Προηγούμενο: [[:java:formatting | Μορφοποίηση Εξόδου ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:class_file| Η κλάση File ]] | | |Προηγούμενο: [[:java:formatting | Μορφοποίηση Εξόδου ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:generics| Παραμετρικοί τύποι δεδομένων (Generics) ]] | |
| |