FileHandle-moduuli Perlissä

Filehandle Moduuli Perlissa



Perlissä on useita tapoja luoda ja käyttää tiedostoja. Tiedosto voidaan avata lukemista, kirjoittamista tai päivittämistä varten Perlissä tiedostonkäsittelyohjelman avulla. Tiedostonkäsittelijää voidaan käyttää open()-menetelmässä strukturoidussa ohjelmointimuodossa tai olioohjelmointimuodossa. FileHandle-moduulia voidaan käyttää Perlissä määrittämään tiedostonkäsittelijä objektiksi ja avaamaan tämän objektin avulla tiedoston luomista tai käyttöä varten käyttämällä “FileHandle”-luokan eri ominaisuuksia ja menetelmiä. Tässä opetusohjelmassa esitetään joidenkin FileHandle-moduulin yleisten menetelmien käyttötavat ja menetelmät FileHandle-moduulin käyttämiseksi tiedostojen käsittelyyn Perlissä.

Joitakin hyödyllisiä FileHandlen menetelmiä

Jotkut FileHandle-moduulin yleisesti käytetyt menetelmät ovat seuraavat:

Menetelmä Tarkoitus
kertoa Sitä käytetään laskemaan tiedoston koko tavuina.
getc Sitä käytetään tiedoston sisällön jokaisen merkin lukemiseen.
etsiä Sitä käytetään siirtämään tiedostoosoitin tiettyyn paikkaan.
eof Se osoittaa tiedoston lopun.
kiinni Sitä käytetään aiemmin määritellyn tiedostokäsittelijän sulkemiseen.

Esimerkkejä Perl FileHandlesta

Tässä opetusohjelman osassa esitetään useita FileHandle-moduulin käyttötapoja useilla esimerkeillä.







Esimerkki 1: Luo uusi tiedosto

Luo Perl-tiedosto seuraavalla komentosarjalla, joka luo uuden tiedoston FileHandle-moduulin avulla. Tiedostonimi otetaan käyttäjältä ja tarkistetaan, onko se olemassa vai ei. Jos tiedostoa ei ole olemassa, tiedosto avataan kirjoittamista varten luomalla 'FileHandle'-luokan objekti 1 sekunnin odottamisen jälkeen.



#!/usr/bin/perl

käytä tiukkaa ;
käyttää varoitukset ;
käytä 5.34.0 ;
käytä FileHandlea ;

#Ota luotavan tiedoston nimi käyttäjältä
Tulosta 'Anna tiedostonimi:' ;
minun $f = <>;
chomp ( $f ) ;

#Tarkista, onko tiedosto jo olemassa vai ei
jos ( -e $f )
{
#Tulosta viesti, jos tiedosto on olemassa
sanoa 'Tiedosto on jo olemassa.' ;
}

muu

{
#Luo tiedostonkäsittelyobjekti
minun $FileHandler = Tiedoston kahva- > Uusi ;
sanoa 'Kirjoitetaan tiedostoon...' ;
#Odota 1 sekunti
nukkua ( 1 ) ;

#Avaa tiedosto kirjoittamista varten
jos ( $FileHandler- > avata ( '> $f' ) )
{
#Kirjoita rivi tekstiä tiedostoon
Tulosta $FileHandler 'Se on testiviesti. \n Se on toinen rivi. \n ' ;
#Sulje tiedostonkäsittely
$FileHandler- > kiinni ;
}

}

Lähtö:



Tulosteen mukaan 'test.txt' -tiedostoa ei ollut aiemmin olemassa ja tämä tiedosto on luotu kahdella rivillä tekstiä. Sitten suoritetaan 'kissa'-komento tarkistaakseen, onko tiedosto luotu onnistuneesti sisällön kanssa vai ei:





  p1-1

Skripti suoritetaan uudelleen samalla syöttöarvolla ja 'Tiedosto on jo olemassa' -viesti tulostetaan tähän, koska 'test.txt'-tiedosto on luotu aiemmin.



  p1-2

Esimerkki 2: Lue tiedoston sisältö

Luo Perl-tiedosto seuraavalla komentosarjalla, joka lukee tiedoston sisällön käyttämällä 'FileHandle'-luokkaa, jos tiedosto on olemassa. Tiedostonimi on otettu käyttäjältä.

#!/usr/bin/perl

käytä tiukkaa ;
käyttää varoitukset ;
käytä 5.34.0 ;
käytä FileHandlea ;

#Ota luotavan tiedoston nimi käyttäjältä
minun $f = <>;
minun $f = ;
chomp ( $f ) ;

#Tarkista, onko tiedosto jo olemassa vai ei
jos ( -e $f )
{
#Avaa tiedosto lukemista varten
minun $FileHandler = Tiedoston kahva- > Uusi ( '< $f' ) ;
#Tulosta tiedoston sisältö
Tulosta < $FileHandler >;
#Sulje tiedostonkäsittely
sulje $FileHandler ;
}

Lähtö:

Test.txt-tiedoston sisältö tulostetaan, koska se on olemassa nykyisessä paikassa:

  p2

Esimerkki 3: Sisällön liittäminen tiedostoon

Luo Perl-tiedosto seuraavalla komentosarjalla, joka liittää sisällön ei-tyhjään tiedostoon ja tulostaa tiedoston koon tavuina. Tiedostonimi on otettu käyttäjältä. Jos tiedosto on olemassa ja sisältää tiedot, tiedoston loppuun lisätään rivi tekstiä. Muussa tapauksessa tulostetaan viesti.

#!/usr/bin/perl

käytä tiukkaa ;
käyttää varoitukset ;
käytä 5.34.0 ;
käytä FileHandlea ;

#Ota luotavan tiedoston nimi käyttäjältä
Tulosta 'Anna tiedostonimi:' ;
minun $f = <>;
chomp ( $f ) ;

#Tarkista, onko tiedosto jo olemassa ja tyhjä vai ei
jos ( -s $f )
{


minun $FileHandler = Tiedoston kahva- > Uusi ( ' >> $f' ) ;
#Tulosta tiedostokoko
Tulosta 'Tiedoston koko on' . $FileHandler- > kertoa. 'tavua. \n ' ;
sanoa 'Lisätään sisältöä tiedostoon...' ;
#Odota 1 sekunti
nukkua ( 1 ) ;

#Kirjoita sisältö tiedoston loppuun
Tulosta $FileHandler 'Se on uusi linja. \n ' ;
#Sulje tiedostonkäsittely
$FileHandler- > kiinni ;
}
muu
{
sanoa 'Tiedostoa ei ole.' ;
}

Lähtö:

Tulosteen mukaan 'test.txt'-tiedostoon lisätään uusi rivi ja tiedoston koko on 45 tavua. Sitten suoritetaan 'kissa'-komento tarkistaakseen, onko sisältö lisätty oikein tiedostoon vai ei:

  p3-1

Johtopäätös


FileHandle-moduuli on yksi Perlin vaihtoehdoista tiedostojen lukemiseen, kirjoittamiseen tai liittämiseen. Tässä opetusohjelmassa esitetään tämän moduulin kolme erilaista käyttötapaa yksinkertaisten esimerkkien avulla.