Ενότητα FileHandle σε Perl

Enoteta Filehandle Se Perl



Υπάρχουν πολλοί τρόποι στην Perl για τη δημιουργία και την πρόσβαση στα αρχεία. Ένα αρχείο μπορεί να ανοίξει για ανάγνωση, γραφή ή ενημέρωση στην Perl χρησιμοποιώντας ένα πρόγραμμα χειρισμού αρχείων. Ο χειριστής αρχείων μπορεί να χρησιμοποιηθεί στη μέθοδο open() σε μορφή δομημένου προγραμματισμού ή αντικειμενοστραφή μορφή προγραμματισμού. Η λειτουργική μονάδα FileHandle μπορεί να χρησιμοποιηθεί στην Perl για να δηλώσει τον χειριστή αρχείων ως αντικείμενο και να χρησιμοποιήσει αυτό το αντικείμενο για να ανοίξει ένα αρχείο για δημιουργία ή πρόσβαση χρησιμοποιώντας διαφορετικές ιδιότητες και μεθόδους της κλάσης 'FileHandle'. Οι χρήσεις ορισμένων κοινών μεθόδων της λειτουργικής μονάδας FileHandle και οι μέθοδοι χρήσης της λειτουργικής μονάδας FileHandle για την εργασία με το αρχείο σε Perl παρουσιάζονται σε αυτό το σεμινάριο.

Μερικές Χρήσιμες Μέθοδοι 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' για να ελεγχθεί εάν το αρχείο δημιουργήθηκε με επιτυχία με το περιεχόμενο ή όχι:





  p1-1

Το σενάριο εκτελείται ξανά με την ίδια τιμή εισόδου και το μήνυμα 'Το αρχείο υπάρχει ήδη' εκτυπώνεται εδώ επειδή το αρχείο 'test.txt' έχει δημιουργηθεί πριν.



  p1-2

Παράδειγμα 2: Διαβάστε το Περιεχόμενο του Αρχείου

Δημιουργήστε ένα αρχείο Perl με το ακόλουθο σενάριο που διαβάζει το περιεχόμενο ενός αρχείου χρησιμοποιώντας την κλάση 'FileHandle', εάν το αρχείο υπάρχει. Το όνομα αρχείου λαμβάνεται από τον χρήστη.

#!/usr/bin/perl

χρησιμοποιήστε αυστηρά ;
χρήση προειδοποιήσεις ;
χρησιμοποιήστε 5.34.0 ;
χρησιμοποιήστε το FileHandle ;

#Πάρτε το όνομα αρχείου από τον χρήστη για δημιουργία
μου $φ = <>;
μου $φ = ;
chomp ( $f ) ;

#Ελέγξτε εάν το αρχείο υπάρχει ήδη ή όχι
αν ( -e $f )
{
#Ανοίξτε το αρχείο για ανάγνωση
$FileHandler μου = File Handle- > νέος ( ' < $f' ) ;
#Εκτυπώστε το περιεχόμενο του αρχείου
Τυπώνω < $FileHandler >;
#Κλείστε το πρόγραμμα χειρισμού αρχείων
κλείστε το $FileHandler ;
}

Παραγωγή:

Το περιεχόμενο του αρχείου 'test.txt' εκτυπώνεται στην έξοδο επειδή υπάρχει στην τρέχουσα θέση:

  p2

Παράδειγμα 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' για να ελεγχθεί εάν το περιεχόμενο έχει προστεθεί σωστά στο αρχείο ή όχι:

  p3-1

συμπέρασμα


Η ενότητα FileHandle είναι μία από τις επιλογές της Perl για ανάγνωση, εγγραφή ή προσθήκη των αρχείων. Τρεις διαφορετικές χρήσεις αυτής της ενότητας παρουσιάζονται σε αυτό το σεμινάριο χρησιμοποιώντας απλά παραδείγματα.