FileHandle'i moodul Perlis

Filehandle I Moodul Perlis



Perlis on failide loomiseks ja neile juurde pääsemiseks mitu võimalust. Faili saab Perlis lugemiseks, kirjutamiseks või värskendamiseks failihalduri abil avada. Failikäsitlejat saab kasutada open() meetodil struktureeritud programmeerimisvormingus või objektorienteeritud programmeerimisvormingus. Moodulit FileHandle saab kasutada Perlis failihalduri objektiks deklareerimiseks ja selle objektiga faili avamiseks, et luua või juurde pääseda, kasutades klassi “FileHandle” erinevaid atribuute ja meetodeid. Selles õpetuses on näidatud mõned mooduli FileHandle levinud meetodid ja meetodid FileHandle mooduli kasutamiseks failiga töötamiseks Perlis.

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:





  p1-1

Skript käivitatakse uuesti sama sisendväärtusega ja siia prinditakse teade “Fail on juba olemas”, kuna fail “test.txt” on loodud enne.



  p1-2

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/perl

kasutage 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:

  p2

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/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 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:

  p3-1

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.