Μερικές Χρήσιμες Μέθοδοι FileHandle
Ορισμένες μέθοδοι που χρησιμοποιούνται συνήθως της ενότητας FileHandle είναι οι εξής:
Μέθοδος | Σκοπός |
λέγω | Χρησιμοποιείται για την καταμέτρηση του μεγέθους του αρχείου σε byte. |
getc | Χρησιμοποιείται για την ανάγνωση κάθε χαρακτήρα του περιεχομένου του αρχείου. |
ψάχνω | Χρησιμοποιείται για τη μετακίνηση του δείκτη του αρχείου σε μια συγκεκριμένη θέση. |
εοφ | Δείχνει το τέλος του αρχείου. |
Κλείσε | Χρησιμοποιείται για το κλείσιμο του προκαθορισμένου προγράμματος χειρισμού αρχείων. |
Παραδείγματα Perl FileHandle
Διαφορετικές χρήσεις της ενότητας FileHandle παρουσιάζονται σε αυτό το μέρος του σεμιναρίου χρησιμοποιώντας πολλά παραδείγματα.
Παράδειγμα 1: Δημιουργήστε ένα νέο αρχείο
Δημιουργήστε ένα αρχείο Perl με την ακόλουθη δέσμη ενεργειών που δημιουργεί ένα νέο αρχείο χρησιμοποιώντας τη λειτουργική μονάδα FileHandle. Ένα όνομα αρχείου λαμβάνεται από τον χρήστη και ελέγχεται αν υπάρχει ή όχι. Εάν το αρχείο δεν υπάρχει, το αρχείο ανοίγει για εγγραφή δημιουργώντας ένα αντικείμενο της κλάσης 'FileHandle' μετά από αναμονή 1 δευτερολέπτου.
#!/usr/bin/perl
χρησιμοποιήστε αυστηρά ;
χρήση προειδοποιήσεις ;
χρησιμοποιήστε 5.34.0 ;
χρησιμοποιήστε το FileHandle ;
#Πάρτε το όνομα αρχείου από τον χρήστη για δημιουργία
Τυπώνω 'Εισαγάγετε το όνομα αρχείου:' ;
μου $φ = <>;
chomp ( $f ) ;
#Ελέγξτε εάν το αρχείο υπάρχει ήδη ή όχι
αν ( -e $f )
{
#Εκτυπώστε ένα μήνυμα εάν το αρχείο υπάρχει
λένε 'Ο φάκελος υπάρχει ήδη.' ;
}
αλλού
{
#Create file handler object
$FileHandler μου = File Handle- > νέος ;
λένε 'Εγγραφή στο αρχείο...' ;
#Περιμένετε για 1 δευτερόλεπτο
ύπνος ( 1 ) ;
#Ανοίξτε το αρχείο για εγγραφή
αν ( $FileHandler- > Άνοιξε ( '> $f' ) )
{
#Γράψτε μια γραμμή κειμένου στο αρχείο
Τυπώνω $FileHandler «Είναι ένα δοκιμαστικό μήνυμα. \n Είναι η δεύτερη γραμμή. \n ' ;
#Κλείστε το πρόγραμμα χειρισμού αρχείων
$FileHandler- > Κλείσε ;
}
}
Παραγωγή:
Σύμφωνα με την έξοδο, το αρχείο 'test.txt' δεν υπήρχε πριν και αυτό το αρχείο δημιουργείται με δύο γραμμές κειμένου. Στη συνέχεια, εκτελείται η εντολή 'cat' για να ελεγχθεί εάν το αρχείο δημιουργήθηκε με επιτυχία με το περιεχόμενο ή όχι:
Το σενάριο εκτελείται ξανά με την ίδια τιμή εισόδου και το μήνυμα 'Το αρχείο υπάρχει ήδη' εκτυπώνεται εδώ επειδή το αρχείο 'test.txt' έχει δημιουργηθεί πριν.
Παράδειγμα 2: Διαβάστε το Περιεχόμενο του Αρχείου
Δημιουργήστε ένα αρχείο Perl με το ακόλουθο σενάριο που διαβάζει το περιεχόμενο ενός αρχείου χρησιμοποιώντας την κλάση 'FileHandle', εάν το αρχείο υπάρχει. Το όνομα αρχείου λαμβάνεται από τον χρήστη.
#!/usr/bin/perlχρησιμοποιήστε αυστηρά ;
χρήση προειδοποιήσεις ;
χρησιμοποιήστε 5.34.0 ;
χρησιμοποιήστε το FileHandle ;
#Πάρτε το όνομα αρχείου από τον χρήστη για δημιουργία
μου $φ = <>;
μου $φ = ;
chomp ( $f ) ;
#Ελέγξτε εάν το αρχείο υπάρχει ήδη ή όχι
αν ( -e $f )
{
#Ανοίξτε το αρχείο για ανάγνωση
$FileHandler μου = File Handle- > νέος ( ' < $f' ) ;
#Εκτυπώστε το περιεχόμενο του αρχείου
Τυπώνω < $FileHandler >;
#Κλείστε το πρόγραμμα χειρισμού αρχείων
κλείστε το $FileHandler ;
}
Παραγωγή:
Το περιεχόμενο του αρχείου 'test.txt' εκτυπώνεται στην έξοδο επειδή υπάρχει στην τρέχουσα θέση:
Παράδειγμα 3: Προσθήκη περιεχομένου σε αρχείο
Δημιουργήστε ένα αρχείο Perl με το ακόλουθο σενάριο που προσθέτει το περιεχόμενο σε ένα μη κενό αρχείο και εκτυπώστε το μέγεθος του αρχείου σε byte. Το όνομα αρχείου λαμβάνεται από τον χρήστη. Εάν το αρχείο υπάρχει και περιέχει τα δεδομένα, προστίθεται μια γραμμή κειμένου στο τέλος του αρχείου. Διαφορετικά, εκτυπώνεται ένα μήνυμα.
#!/usr/bin/perlχρησιμοποιήστε αυστηρά ;
χρήση προειδοποιήσεις ;
χρησιμοποιήστε 5.34.0 ;
χρησιμοποιήστε το FileHandle ;
#Πάρτε το όνομα αρχείου από τον χρήστη για δημιουργία
Τυπώνω 'Εισαγάγετε το όνομα αρχείου:' ;
μου $φ = <>;
chomp ( $f ) ;
#Ελέγξτε εάν το αρχείο υπάρχει ήδη και δεν είναι κενό ή όχι
αν ( -s $f )
{
$FileHandler μου = File Handle- > νέος ( ' >> $f' ) ;
#Εκτυπώστε το μέγεθος του αρχείου
Τυπώνω 'Το μέγεθος του αρχείου είναι' . $FileHandler- > λέγω. 'bytes. \n ' ;
λένε 'Προσθήκη περιεχομένου στο αρχείο...' ;
#Περιμένετε για 1 δευτερόλεπτο
ύπνος ( 1 ) ;
#Γράψτε περιεχόμενο στο τέλος του αρχείου
Τυπώνω $FileHandler «Είναι μια νέα γραμμή. \n ' ;
#Κλείστε το πρόγραμμα χειρισμού αρχείων
$FileHandler- > Κλείσε ;
}
αλλού
{
λένε 'Το αρχείο δεν υπάρχει.' ;
}
Παραγωγή:
Σύμφωνα με την έξοδο, μια νέα γραμμή προστίθεται στο αρχείο 'test.txt' και το μέγεθος του αρχείου είναι 45 byte. Στη συνέχεια, εκτελείται η εντολή 'cat' για να ελεγχθεί εάν το περιεχόμενο έχει προστεθεί σωστά στο αρχείο ή όχι:
συμπέρασμα
Η ενότητα FileHandle είναι μία από τις επιλογές της Perl για ανάγνωση, εγγραφή ή προσθήκη των αρχείων. Τρεις διαφορετικές χρήσεις αυτής της ενότητας παρουσιάζονται σε αυτό το σεμινάριο χρησιμοποιώντας απλά παραδείγματα.