User Tools

Site Tools


java:path2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
java:path2 [2015/03/02 10:15] elkarafejava:path2 [2015/03/04 19:34] (current) – removed gthanos
Line 1: Line 1:
  
-Η κλάση //Path//, η οποία εισήχθη στην έκδοση SE 7 της Java , είναι ένα από τα κύρια σημεία του //java.nio.file// πακέτου. Για όσους χρησιμοποιούν I / O αρχείου , είναι χρήσιμο να ξέρουν τα ισχυρά χαρακτηριστικά αυτής της κλάσης. 
- 
-Σημείωση : Αν έχετε  pre-JDK7 κώδικα που χρησιμοποιεί //java.io.File//, μπορείτε να επωφεληθείτε από τη λειτουργικότητα της κλάσης //Path// χρησιμοποιώντας τη μέθοδο //File.toPath// 
- 
-Όπως υποδηλώνει το όνομά της, η κλάση //Path// είναι μια προγραμματική αναπαράσταση ενός μονοπατιού στο σύστημα αρχείων. Ένα //Path// αντικείμενο περιέχει το όνομα του αρχείου και της λίστας διευθύνσεων που χρησιμοποιήθηκαν για την κατασκευή του μονοπατιού, και χρησιμοποιείται για να εξετάσει, εντοπίσετε και χειριστείτε τα αρχεία. 
- 
-Ένα παράδειγμα //Path// αντανακλά την υποκείμενη πλατφόρμα. Στο λειτουργικό σύστημα Solaris, ένα //Path// χρησιμοποιεί τη σύνταξη του Solaris (/ home / Joe / foo) και στο Microsoft Windows, ένα //Path// χρησιμοποιεί τη σύνταξη των Windows (C: \ home \ Joe \ foo). Ένα //Path// δεν είναι ανεξάρτητο από το σύστημα. Δεν μπορούμε να συγκρίνουμε ένα //Path// από το σύστημα αρχείων Solaris και να περιμένουμε να ταιριάξει με ένα //Path// από ένα σύστημα αρχείων των Windows, ακόμη και αν η δομή της διεύθυνσης είναι η ίδια και οι δύο παρουσίες εντοπίζουν το ίδιο σχετικό αρχείο. 
- 
-Το αρχείο ή η διεύθυνση που αντιστοιχεί στο //Path// μπορεί να μην υπάρχει. Μπορούμε να δημιουργήσουμε ένα παράδειγμα //Path// και να το χειριστούμε με διάφορους τρόπους: μπορούμε να προσθέσουμε σε αυτό, να εξαγάγετε κομμάτια από αυτό ή ακόμα και να το συγκρίνουμε με ένα άλλο //Path//. Επίσης, μπορούμε να χρησιμοποιήσουμε τις μεθόδους της κλάσης //Files// για να ελέγχει την ύπαρξη του αρχείου που αντιστοιχεί στο //Path//, να δημιουργήσουμε το αρχείο, νατο ανοίξουμε, να το διαγράψουμε, να του αλλάξουμε τα δικαιώματά του, και ούτω καθεξής. 
- 
-==== Λειτουργίες της Path ==== 
- 
-Η κλάση //Path// περιλαμβάνει διάφορες μεθόδους που μπορούν να χρησιμοποιηθούν για να αποκτήσουν πληροφορίες σχετικά με το μονοπάτι, αποκτήσουν πρόσβαση σε στοιχεία του μονοπατιού, μετατρέψουν το μονοπάτι σε άλλες μορφές, ή να εξάγουν τμήματα ενός μονοπατιού.  
-Υπάρχουν επίσης μέθοδοι για το ταίριασμα της συμβολοσειράς του μονοπατιού  και μέθοδοι για την αφαίρεση κομματιών από ένα μονοπάτι. Εδώ θα εξετάσουμε αυτές τις μεθόδους της Path, που μερικές φορές ονομάζεται syntactic λειτουργίες, επειδή λειτουργούν στο ίδιο το μονοπάτι και δεν έχουν πρόσβαση στο σύστημα αρχείων. 
- 
-==== Δημιουργώντας ένα Path ==== 
- 
-Ένα παράδειγμα //Path// περιέχει τις πληροφορίες που χρησιμοποιούνται για τον καθορισμό της θέσης του αρχείου ή διεύθυνσης. Αφού οριστεί, ένα //Path// είναι εφοδιασμένο με μία σειρά από ένα ή περισσότερα ονόματα. Ένα στοιχείο ρίζα ή ένα όνομα αρχείου μπορεί να περιλαμβάνεται, αλλά δεν είναι απαραίτητο. Ένα //Path// μπορεί να αποτελείται από ένα μόνο όνομα διεύθυνσης ή αρχείου. 
- 
-Μπορούμε εύκολα να δημιουργήσουμε ένα αντικείμενο //Path// χρησιμοποιώντας μία από τις ακόλουθες μεθόδους από βοηθητική κλάη //Paths// (σημειώστε το πληθυντικό) : 
- 
-<code java> 
-Path p1 = Paths.get("/tmp/foo"); 
-Path p2 = Paths.get(args[0]); 
-Path p3 = Paths.get(URI.create("file:///Users/joe/FileTest.java")); 
-</code> 
- 
-Η μέθοδος Paths.get είναι συντομογραφία για τον παρακατω κώδικα : 
- 
-<code java> 
-Path p4 = FileSystems.getDefault().getPath("/users/sally"); 
-</code> 
- 
-Το ακόλουθο παράδειγμα δημιουργεί το /u/joe/logs/foo.log υποθέτοντας ότι το η home διεύθυνση είναι η /u/joe/logs/foo.log αν είμαστε σε Windows. 
- 
-<code java> 
-Path p5 = Paths.get(System.getProperty("user.home"),"logs", "foo.log"); 
-</code> 
- 
-==== Ανάκτηση πληροφοριών σχετικά με ένα Path ==== 
- 
-Μπορείτε να σκεφτείτε το //Path// ως την αποθήκευση αυτών των στοιχείων ονομάτων σαν μια ακολουθία. Το υψηλότερο στοιχείο στην δομή του καταλόγου θα βρίσκεται στο ευρετήριο 0. Η χαμηλότερη στοιχείο στην δομή διευθύνσεων θα βρίσκεται στο ευρετήριο //[n-1]//, όπου //n// είναι ο αριθμός των στοιχείων ονομάτων στο //Path//. Μέθοδοι είναι διαθέσιμες για την ανάκτηση μεμονωμένων στοιχείων ή κομματιών του //Path// χρησιμοποιώντας αυτά τα ευρετήρια. 
- 
-Τα παραδείγματα που θα χρησιμοποιήσουμε παρακάτω χρησιμοποιούν την ακόλουθη δομή διευθύνσεων. 
- 
-{{ :java:io-dirstructure.gif?250 |}} 
- 
-Το ακόλουθο απόσπασμα κώδικα ορίζει ένα παράδειγμα //Path// και στη συνέχεια, επικαλείται διάφορες μεθόδους για να λάβει πληροφορίες σχετικά με τη διαδρομή: 
- 
-<code java> 
-// None of these methods requires that the file corresponding 
-// to the Path exists. 
-// Microsoft Windows syntax 
-Path path = Paths.get("C:\\home\\joe\\foo"); 
- 
-// Solaris syntax 
-Path path = Paths.get("/home/joe/foo"); 
- 
-System.out.format("toString: %s%n", path.toString()); 
-System.out.format("getFileName: %s%n", path.getFileName()); 
-System.out.format("getName(0): %s%n", path.getName(0)); 
-System.out.format("getNameCount: %d%n", path.getNameCount()); 
-System.out.format("subpath(0,2): %s%n", path.subpath(0,2)); 
-System.out.format("getParent: %s%n", path.getParent()); 
-System.out.format("getRoot: %s%n", path.getRoot()); 
-</code> 
- 
-Έξοδος σε λειτουργικό σύστημα Microsoft Windows : 
- 
-<code java> 
-C:\home\joe\foo  
-foo  
-home  
-3   
-home\joe  
-\home\joe  
-C:\ 
-</code> 
java/path2.1425291331.txt.gz · Last modified: 2015/03/02 10:15 (external edit)