ΥπολογιστέςΠρογραμματισμός

Java: Εργασία με αρχεία - γραφή, ανάγνωση, διαγραφή

Java έχει πολλά εργαλεία για την εργασία με αρχεία, επειδή χρησιμεύουν ως αποθήκη δεδομένων σε πολλά προγράμματα. Πολύ συχνά πρόσβαση στο αρχείο απαιτείται στην Java Android. Όλα τα μαθήματα για την εργασία με αρχεία που βρίσκονται στο java.io πακέτο, όπου αποθηκεύονται επίσης μαθήματα για είσοδο και έξοδο συνεχούς ροής. Αυστηρά μιλώντας, Java εργασία με αρχεία λαμβάνει χώρα κυρίως μέσω του byte και ο χαρακτήρας εισόδου και εξόδου ρεύματα. Η εξαίρεση σε αυτή την περίπτωση είναι η κατηγορία αρχείων. Από αυτό και να αρχίσει.

Java κλάση Αρχείο - Εργασία με αρχεία

class αρχείο αλληλεπιδρά άμεσα με τα αρχεία και το σύστημα αρχείων. Ένα παράδειγμα αυτής της κατηγορίας χρησιμοποιείται κυρίως για να αποκτήσετε πρόσβαση στις ιδιότητες του αρχείου και περιηγηθείτε στην ιεραρχία των υποκαταλόγων. Αυτό δεν καθορίζεται από τις μεθόδους εξόρυξης και αποθήκευση δεδομένων σε ένα αρχείο, αλλά με αυτή την κατηγορία, μπορείτε να πάρετε πολλές πληροφορίες σχετικά με το αρχείο ημερομηνία, την ώρα, την πρόσβαση δικαιώματα και τον κατάλογο διαδρομή. Στην πραγματικότητα, το αρχείο της κατηγορίας αντικείμενο είναι η ερμηνεία ενός αρχείου ή καταλόγου σε Java.

Για να δημιουργήσετε μια εμφάνιση του αρχείου, χρησιμοποιώντας έναν από τους κατασκευαστές του: File (String διαδρομή προς το φάκελο, String όνομα αρχείου).

Εξετάστε τις βασικές τεχνικές αυτής της κατηγορίας, που επιτρέπει να λάβουν πληροφορίες σχετικά με ένα αρχείο ή κατάλογο:

  • getName () - επιστρέφει το όνομα του αρχείου?
  • Υπάρχει () - επιστρέφει μια boolean true, αν το αρχείο υπάρχει, ή λάθος σε αντίθετη περίπτωση?
  • isFile () - προσδιορίζει αν το αντικείμενο αναφέρεται σε ένα αρχείο, επιστρέφοντας την αντίστοιχη λογική τιμή?
  • isDirectory () - επιστρέφει true, αν πρόκειται για φάκελο?
  • canWrite () - επιστρέφει true, αν το αρχείο είναι εγγράψιμο?
  • canRead () - επιστρέφει true, αν το αρχείο είναι αναγνώσιμο?
  • setReadOnly () - καθιστά το αρχείο μόνο για ανάγνωση?
  • μήκος () - επιστρέφει το μέγεθος του αρχείου σε bytes?
  • renameTo (File ένα νέο όνομα) - μετονομάζει το τρέχον αρχείο, σύμφωνα με τα επιχειρήματα. Επιστρέφει αληθές, αν η λειτουργία είναι επιτυχής?
  • διαγραφή () - διαγράφει ένα αρχείο ή φάκελο (εάν είναι κενή), η οποία δείχνει τον καλούντα?
  • κατάλογος () - ανακτά μια λίστα των αντικειμένων ονόματα αποθηκεύονται στον κατάλογο, όπως μια σειρά πίνακα (ισχύει μόνο για τους καταλόγους).

Έτσι, χρησιμοποιώντας την κλάση File παρέχεται στο έργο Java με αρχεία και φακέλους.

Εργασία με αρχεία από τις κατηγορίες FileInputStream και FileOutputStream

Νωρίτερα αναφέραμε ότι το έργο Java με αρχεία πραγματοποιείται κυρίως μέσω των ταμειακών εισροών-εκροών. ρεύματα Byte για τα αρχεία που παρουσιάζονται με τη μορφή των τάξεων FileInputStream και FileOutputStream. Αυτές οι κατηγορίες είναι οι κληρονόμοι της η βάση αφηρημένων κλάσεων InputStream και OutputStream αντίστοιχα, έτσι ώστε οι μέθοδοι αυτών των κατηγοριών είναι διαθέσιμα για την εργασία με αρχεία.

Εξετάστε πρώτα την FileInputStream. Τα κιτ της κατηγορίας αυτής παρουσιάζονται παρακάτω:

Ο πρώτος κατασκευαστής λαμβάνει ως επιχείρημα από την διαδρομή του αρχείου ως συμβολοσειρά, και η δεύτερη - με τη μορφή της αναπαράστασης του αντικειμένου. Παρά το γεγονός ότι ο πρώτος κατασκευαστής χρησιμοποιείται πιο συχνά στη δεύτερη περίπτωση είναι δυνατό να μελετήσει τις ιδιότητες του αρχείου διαθέσιμο στο αρχείο της κατηγορίας μεθόδους. Όταν δημιουργείτε μια εμφάνιση της κλάσης FileInputStream ανοίγει ένα ρεύμα εισόδου για την ανάγνωση του αρχείου.

Οι σχεδιαστές FileOutputStream τάξη δείχνονται παρακάτω:

Η κατάσταση είναι παρόμοια με μια FileInputStream, αλλά μπορεί επίσης να λάβει μια λογική τιμή «προσάρτησης», το οποίο, όταν ισχύει δείχνει ότι τα δεδομένα είναι γραμμένο με το στόχο του αρχείου θα προσαρτηθεί στην υπάρχουσα, και αν ψευδείς - θα πάει η πλήρης αντικατάσταση του αρχείου, δηλαδή, τα παλιά δεδομένα δεν θα αποθηκευτούν.

Ας δούμε ένα παράδειγμα χρησιμοποιώντας αυτές τις κατηγορίες:

Το ρεύμα εισόδου FileInputStream file1.txt διαβάζει δεδομένα από το byte αρχείο από byte με την μέθοδο του ανάγνωσης (). Κάθε ανάγνωσης byte αποθηκεύεται σε μία μεταβλητή στο ακέραιο μορφή. Περαιτέρω, στο σώμα του βρόχου while , αυτή η μεταβλητή μεταβιβάζεται ως όρισμα για να γράψει ένα μεθόδου παράδειγμα των FileOutputStream, η οποία γράφει το λαμβανόμενο byte στην file2.txt αρχείο. Κατά το τέλος των δύο ρευμάτων υποχρεωτικά κλειστά με τη μέθοδο κοντά.

Μαθήματα FileReader και FileWriter

Αν βέβαια ξέρουν ότι όταν εργάζονται με αρχεία, θα πρέπει να ασχοληθεί με το κείμενο, είναι λογικό να χρησιμοποιήσετε ένα χαρακτήρα αντί του byte streams. Αυτές οι ροές παρουσιάζονται τάξεις FileReader και FileWriter σε Java. Εργασία με αρχεία χρησιμοποιώντας αυτές τις κατηγορίες πραγματοποιείται περίπου το ίδιο όπως και στην προηγούμενη περίπτωση. Αυτές οι κατηγορίες κατέβηκε Reader και Writer, αντίστοιχα, οι οποίες καθορίζουν τις βασικές μεθόδους για είσοδο και έξοδο δεδομένων.

Οι σχεδιαστές τάξεις FileReader και FileWriter παρουσιάζονται παρακάτω:

Συμφωνούν, οι διαφορές σε σύγκριση με σημασιολογία byte ρυάκια σχεδόν κανένας. Η κατώτατη γραμμή είναι ότι αυτά τα μαθήματα έχουν σχεδιαστεί ειδικά για την εργασία με τους χαρακτήρες σε Unicode, δεν μπορεί να κάνει byte streams. Αυτός είναι ο τρόπος Java οργανώνεται σε συνεργασία με τα αρχεία. Παράδειγμα των κατηγοριών δεδομένων δίνεται παρακάτω:

Όπως μπορείτε να δείτε, δεν τηρούνται οι διαφορές. Θα πρέπει να σημειωθεί ότι αν και ο χαρακτήρας της ροής, τα διαβάσετε επιστρέφει μέθοδο, και η μέθοδος εγγραφής παίρνει μια ακέραια τιμή. Παρά το γεγονός ότι η υπογραφή της μεθόδου εγγραφής περιλαμβάνει τη λήψη ένα επιχείρημα του τύπου int, είναι γραμμένο στο ρεύμα, μόνο τα χαμηλότερα 16 bits, δεδομένου ότι οι χαρακτήρες σε Java είναι ακριβώς τόσα πολλά κομμάτια.

συμπέρασμα

Έτσι, συζητήσαμε τα βασικά μαθήματα για την εργασία με αρχεία σε Java. Αξίζει να σημειωθεί ότι, εάν πρόκειται για την ανάπτυξη λογισμικού για την Java Android, μπορείτε να χρησιμοποιήσετε με ασφάλεια αυτό το εργαλείο.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 el.birmiss.com. Theme powered by WordPress.