Mõned FileHandle'i kasulikud meetodid
Mõned FileHandle mooduli sagedamini kasutatavad meetodid on järgmised:
meetod | Eesmärk |
ütle | Seda kasutatakse faili suuruse loendamiseks baitides. |
getc | Seda kasutatakse faili sisu iga tähemärgi lugemiseks. |
otsima | Seda kasutatakse failikursori liigutamiseks kindlasse kohta. |
eof | See näitab faili lõppu. |
Sulge | Seda kasutatakse eelnevalt määratletud failitöötleja sulgemiseks. |
Perl FileHandle'i näited
Selles õpetuse osas näidatakse mitme näite abil FileHandle mooduli erinevaid kasutusviise.
Näide 1: Looge uus fail
Looge järgmise skriptiga Perli fail, mis loob mooduli FileHandle abil uue faili. Kasutajalt võetakse failinimi ja kontrollitakse, kas see on olemas või mitte. Kui faili pole olemas, avatakse fail kirjutamiseks, luues 1 sekundi ootamise järel klassi “FileHandle” objekti.
#!/usr/bin/perl
kasutage ranget ;
kasutada hoiatused ;
kasuta 5.34.0 ;
kasutage FileHandle'i ;
#Võtke loomiseks kasutajalt failinimi
printida 'Sisesta failinimi:' ;
minu $f = <>;
chomp ( $f ) ;
#Kontrollige, kas fail on juba olemas või mitte
kui ( -e $f )
{
#Prindige sõnum, kui fail on olemas
öelda 'Fail on juba olemas.' ;
}
muidu
{
#Loo failihalduri objekt
minu $FileHandler = Failikäepide- > uus ;
öelda 'Kirjutamine faili...' ;
#Oodake 1 sekund
magama ( 1 ) ;
#Ava fail kirjutamiseks
kui ( $FileHandler- > avatud ( '> $f' ) )
{
#Kirjutage faili rida teksti
printida $FileHandler 'See on testsõnum. \n See on teine rida. \n ' ;
#Sule failitöötleja
$FileHandler- > Sulge ;
}
}
Väljund:
Väljundi järgi faili “test.txt” varem ei eksisteerinud ja see fail on loodud kaherealise tekstiga. Seejärel käivitatakse käsk 'cat', et kontrollida, kas fail on sisuga edukalt loodud või mitte:
Skript käivitatakse uuesti sama sisendväärtusega ja siia prinditakse teade “Fail on juba olemas”, kuna fail “test.txt” on loodud enne.
Näide 2: lugege faili sisu
Looge Perli fail järgmise skriptiga, mis loeb faili sisu, kasutades klassi 'FileHandle', kui fail on olemas. Failinimi võetakse kasutajalt.
#!/usr/bin/perlkasutage ranget ;
kasutada hoiatused ;
kasuta 5.34.0 ;
kasutage FileHandle'i ;
#Võtke loomiseks kasutajalt failinimi
minu $f = <>;
minu $f = ;
chomp ( $f ) ;
#Kontrollige, kas fail on juba olemas või mitte
kui ( -e $f )
{
#Ava fail lugemiseks
minu $FileHandler = Failikäepide- > uus ( ' < $f' ) ;
#Prindige faili sisu
printida < $FileHandler >;
#Sule failitöötleja
sulgege $FileHandler ;
}
Väljund:
Faili 'test.txt' sisu prinditakse väljundisse, kuna see on praeguses asukohas olemas:
Näide 3: Sisu lisamine faili
Looge järgmise skriptiga Perli fail, mis lisab sisu mittetühja faili ja prindib faili suuruse baitides. Failinimi võetakse kasutajalt. Kui fail on olemas ja sisaldab andmeid, lisatakse faili lõppu tekstirida. Vastasel juhul prinditakse teade.
#!/usr/bin/perlkasutage ranget ;
kasutada hoiatused ;
kasuta 5.34.0 ;
kasutage FileHandle'i ;
#Võtke loomiseks kasutajalt failinimi
printida 'Sisesta failinimi:' ;
minu $f = <>;
chomp ( $f ) ;
#Kontrollige, kas fail on juba olemas ja kas see pole tühi või mitte
kui ( -s $f )
{
minu $FileHandler = Failikäepide- > uus ( ' >> $f' ) ;
#Prindige faili suurus
printida 'Faili suurus on' . $FileHandler- > ütle. 'baiti. \n ' ;
öelda 'Sisu lisamine faili...' ;
#Oodake 1 sekund
magama ( 1 ) ;
#Kirjutage faili lõppu sisu
printida $FileHandler 'See on uus liin. \n ' ;
#Sule failitöötleja
$FileHandler- > Sulge ;
}
muidu
{
öelda 'Faili ei ole olemas.' ;
}
Väljund:
Vastavalt väljundile lisatakse failile “test.txt” uus rida ja faili suurus on 45 baiti. Seejärel käivitatakse käsk 'cat', et kontrollida, kas sisu on faili õigesti lisatud või mitte:
Järeldus
Moodul FileHandle on üks Perli valikutest failide lugemiseks, kirjutamiseks või lisamiseks. Selles õpetuses kirjeldatakse lihtsate näidete abil selle mooduli kolme erinevat kasutusviisi.