This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
java:class_path [2017/02/07 09:23] gthanos [Ανάκτηση πληροφοριών σχετικά με ένα Path] |
java:class_path [2020/03/09 07:19] gthanos [Μετατροπή ενός Path] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| - | Η κλάση [[http:// | + | <WRAP important 70% round> |
| + | **Η ενότητα αυτή είναι | ||
| + | </WRAP> | ||
| - | Καθε αντικείμενο της κλάσης | + | Το interface [[http://docs.oracle.com/ |
| - | Το αρχείο ή η διεύθυνση που αντιστοιχεί σε ένα αντικείμενο τύπου //Path// μπορεί να μην υπάρχει. Μπορούμε να δημιουργήσουμε ένα | + | Κάθε αντικείμενο που υλοποιεί το interface //Path// λαμβάνει υπόψη του τις ιδιαιτερότητες του λειτουργικού συστήματος. Στο λειτουργικό σύστημα GNU/Linux, ένα //Path// χρησιμοποιεί τη σύνταξη (/ |
| + | |||
| + | Το αρχείο ή η διεύθυνση που αντιστοιχεί σε ένα αντικείμενο τύπου //Path// μπορεί να μην υπάρχει. Μπορούμε να δημιουργήσουμε ένα // | ||
| ==== Δημιουργώντας ένα Path ==== | ==== Δημιουργώντας ένα Path ==== | ||
| Line 35: | Line 39: | ||
| ==== Ανάκτηση πληροφοριών σχετικά με ένα Path ==== | ==== Ανάκτηση πληροφοριών σχετικά με ένα Path ==== | ||
| - | Μπορείτε να σκεφτείτε το //Path// ως την αποθήκευση αυτών των στοιχείων ονομάτων σαν μια ακολουθία. Το υψηλότερο στοιχείο στην δομή του καταλόγου θα βρίσκεται στη θέση 0 και το χαμηλότερο στοιχείο στην δομή διευθύνσεων θα βρίσκεται στη θέση //[n-1]// (όπου //n// είναι ο αριθμός των στοιχείων ονομάτων στο //Path//). Η κλάση //Path// παρέχει μεθόδους για την ανάκτηση μεμονωμένων στοιχείων ή τμημάτων του //Path// | + | Μπορείτε να σκεφτείτε το //Path// ως την αποθήκευση αυτών των στοιχείων ονομάτων σε μια ακολουθία. Το υψηλότερο στοιχείο στην δομή του καταλόγου θα βρίσκεται στη θέση 0 και το χαμηλότερο στοιχείο στην δομή διευθύνσεων θα βρίσκεται στη θέση //[n-1]// (όπου //n// είναι ο αριθμός των στοιχείων ονομάτων στο //Path//). Η κλάση //Path// παρέχει μεθόδους για την ανάκτηση μεμονωμένων στοιχείων ή τμημάτων του //Path// |
| Τα παραδείγματα που θα χρησιμοποιήσουμε παρακάτω χρησιμοποιούν την ακόλουθη δομή διευθύνσεων. | Τα παραδείγματα που θα χρησιμοποιήσουμε παρακάτω χρησιμοποιούν την ακόλουθη δομή διευθύνσεων. | ||
| Line 101: | Line 105: | ||
| ==== Αφαίρεση περιττών κομματιών από ένα Path ==== | ==== Αφαίρεση περιττών κομματιών από ένα Path ==== | ||
| - | Πολλά συστήματα αρχείων χρησιμοποιούν τον συμβολισμό " | + | Παραδοσιακά τα συστήματα αρχείων χρησιμοποιούν τον συμβολισμό " |
| - | Τα παραδείγματα που ακολουθούν περιλαμβάνουν | + | Τα παραδείγματα που ακολουθούν περιλαμβάνουν τα δύο παραπάνω παραδείγματα : |
| <code java> | <code java> | ||
| Line 110: | Line 114: | ||
| </ | </ | ||
| - | Η μέθοδος //normalize// αφαιρεί τυχόν περιττά στοιχεία, | + | Η μέθοδος |
| - | Είναι σημαντικό να σημειωθεί ότι η // | + | <WRAP tip 80% center round> |
| + | Είναι σημαντικό να σημειωθεί ότι η // | ||
| + | </ | ||
| - | Για να " | + | Για να " |
| ==== Μετατροπή ενός Path ==== | ==== Μετατροπή ενός Path ==== | ||
| - | Μπορούμε να χρησιμοποιήσουμε τρεις μεθόδους για να μετατρέψουμε ένα //Path//. Αν χρειαστεί να μετατρέψουμε το μονοπάτι σε ένα string που μπορεί να ανοίξει από ένα browser, μπορούμε να χρησιμοποιήσουμε την μέθοδο // | + | Μπορούμε να χρησιμοποιήσουμε τρεις μεθόδους για να μετατρέψουμε ένα // |
| + | |||
| + | === Η μέθοδος toUri === | ||
| + | |||
| + | Αν χρειαστεί να μετατρέψουμε το μονοπάτι σε ένα string που μπορεί να ανοίξει από ένα browser, μπορούμε να χρησιμοποιήσουμε την μέθοδο // | ||
| Για παράδειγμα: | Για παράδειγμα: | ||
| Line 127: | Line 137: | ||
| </ | </ | ||
| - | Η μέθοδος | + | === Η μέθοδος toAbsolutePath |
| - | <code java> | + | Η μέθοδος // |
| - | class FileTest { | + | |
| - | public static void main(String[] args) { | + | |
| - | if (args.length | + | <code java FileTest.java> |
| - | System.out.println(" | + | class FileTest { |
| - | System.exit(-1); | + | |
| - | } | + | |
| - | + | ||
| - | // Converts the input string to a Path object. | + | |
| - | Path inputPath = Paths.get(args[0]); | + | |
| - | // Converts the input Path | + | if (args.length < 1) { |
| - | // to an absolute path. | + | |
| - | // Generally, this means prepending | + | |
| - | // the current working | + | |
| - | // directory. If this example | + | |
| - | // were called like this: | + | |
| - | // | + | |
| - | // the getRoot and getParent methods | + | |
| - | // would return null | + | |
| - | // on the original | + | |
| - | // instance. | + | |
| - | // getParent on the " | + | |
| - | // instance returns expected values. | + | |
| - | Path fullPath = inputPath.toAbsolutePath(); | + | |
| } | } | ||
| + | Path inputPath = Paths.get(args[0]); | ||
| + | Path fullPath = inputPath.toAbsolutePath(); | ||
| + | } | ||
| } | } | ||
| </ | </ | ||
| - | Η μέθοδος | + | === Η μέθοδος |
| - | Η μέθοδος // | + | Η μέθοδος // |
| * Αν περνά σε αυτή τη μέθοδο η τιμή //true// και το σύστημα αρχείων υποστηρίζει symbolic links, τότε επιλύει όλα τα symbolic links στο μονοπάτι. | * Αν περνά σε αυτή τη μέθοδο η τιμή //true// και το σύστημα αρχείων υποστηρίζει symbolic links, τότε επιλύει όλα τα symbolic links στο μονοπάτι. | ||
| * Αν το //Path// είναι σχετικό, | * Αν το //Path// είναι σχετικό, | ||
| - | * Αν το //Path// περιλαμβάνει τυχόν περιττά στοιχεία, | + | * Αν το //Path// περιλαμβάνει τυχόν περιττά στοιχεία |
| - | |Προηγούμενο: | + | |Προηγούμενο: |