Modul FileHandle v Perlu

Modul Filehandle V Perlu



V Perlu obstaja več načinov za ustvarjanje in dostop do datotek. Datoteko lahko odprete za branje, pisanje ali posodabljanje v Perlu z uporabo upravljalnika datotek. Upravljalnik datotek je mogoče uporabiti v metodi open() v formatu strukturiranega programiranja ali formatu objektno usmerjenega programiranja. Modul FileHandle se lahko uporablja v Perlu za razglasitev upravljalnika datotek kot predmeta in uporabo tega predmeta za odpiranje datoteke za ustvarjanje ali dostop z uporabo različnih lastnosti in metod razreda »FileHandle«. V tej vadnici so prikazane uporabe nekaterih pogostih metod modula FileHandle in metode uporabe modula FileHandle za delo z datoteko v Perlu.

Nekaj ​​uporabnih metod FileHandle

Nekatere pogosto uporabljene metode modula FileHandle so naslednje:

Metoda Namen
povej Uporablja se za štetje velikosti datoteke v bajtih.
getc Uporablja se za branje vsakega znaka vsebine datoteke.
iskati Uporablja se za premikanje kazalca datoteke na določen položaj.
eof Označuje konec datoteke.
blizu Uporablja se za zapiranje predhodno definiranega upravljalnika datotek.

Primeri Perl FileHandle

Različne uporabe modula FileHandle so prikazane v tem delu vadnice z več primeri.







1. primer: ustvarite novo datoteko

Ustvarite datoteko Perl z naslednjim skriptom, ki ustvari novo datoteko z uporabo modula FileHandle. Ime datoteke se vzame od uporabnika in preveri, ali obstaja ali ne. Če datoteka ne obstaja, se datoteka odpre za pisanje z ustvarjanjem predmeta razreda “FileHandle” po čakanju 1 sekundo.



#!/usr/bin/perl

uporabite strogo ;
uporaba opozorila ;
uporabi 5.34.0 ;
uporabite FileHandle ;

#Vzemite ime datoteke od uporabnika za ustvarjanje
tiskanje 'Vnesite ime datoteke:' ;
moj $f = <>;
žvečiti ( $f ) ;

#Preveri ali datoteka že obstaja ali ne
če ( -e $f )
{
#Natisni sporočilo, če datoteka obstaja
reči 'Datoteka že obstaja.' ;
}

drugače

{
#Ustvari predmet obdelovalca datotek
moj $FileHandler = FileHandle- > novo ;
reči 'Pisanje v datoteko ...' ;
#Počakajte 1 sekundo
spati ( 1 ) ;

#Odpri datoteko za pisanje
če ( $FileHandler- > odprto ( '> $f' ) )
{
#V datoteko zapišite vrstico besedila
tiskanje $FileHandler 'To je testno sporočilo. \n To je druga linija. \n ' ;
#Zaprite upravljalnik datotek
$FileHandler- > blizu ;
}

}

Izhod:



Glede na izhod datoteka »test.txt« prej ni obstajala in ta datoteka je ustvarjena z dvema vrsticama besedila. Nato se izvede ukaz »cat«, da se preveri, ali je datoteka uspešno ustvarjena z vsebino ali ne:





  p1-1

Skript se znova izvede z isto vhodno vrednostjo in tukaj se natisne sporočilo »Datoteka že obstaja«, ker je bila datoteka »test.txt« ustvarjena prej.



  p1-2

Primer 2: Preberite vsebino datoteke

Ustvarite datoteko Perl z naslednjim skriptom, ki prebere vsebino datoteke z uporabo razreda »FileHandle«, če datoteka obstaja. Ime datoteke je vzeto od uporabnika.

#!/usr/bin/perl

uporabite strogo ;
uporaba opozorila ;
uporabi 5.34.0 ;
uporabite FileHandle ;

#Vzemite ime datoteke od uporabnika za ustvarjanje
moj $f = <>;
moj $f = ;
žvečiti ( $f ) ;

#Preveri ali datoteka že obstaja ali ne
če ( -e $f )
{
#Odpri datoteko za branje
moj $FileHandler = FileHandle- > novo ( '< $f' ) ;
#Natisnite vsebino datoteke
tiskanje < $FileHandler >;
#Zaprite upravljalnik datotek
zapri $FileHandler ;
}

Izhod:

Vsebina datoteke »test.txt« je natisnjena v izhodu, ker obstaja na trenutni lokaciji:

  p2

Primer 3: Dodajanje vsebine v datoteko

Ustvarite datoteko Perl z naslednjim skriptom, ki doda vsebino v neprazno datoteko in natisne velikost datoteke v bajtih. Ime datoteke je vzeto od uporabnika. Če datoteka obstaja in vsebuje podatke, se na koncu datoteke doda vrstica besedila. V nasprotnem primeru se natisne sporočilo.

#!/usr/bin/perl

uporabite strogo ;
uporaba opozorila ;
uporabi 5.34.0 ;
uporabite FileHandle ;

#Vzemite ime datoteke od uporabnika za ustvarjanje
tiskanje 'Vnesite ime datoteke:' ;
moj $f = <>;
žvečiti ( $f ) ;

#Preveri ali datoteka že obstaja in ni prazna ali ne
če ( -s $f )
{


moj $FileHandler = FileHandle- > novo ( ' >> $f' ) ;
#Natisnite velikost datoteke
tiskanje 'Velikost datoteke je ' . $FileHandler- > povej. 'bajtov. \n ' ;
reči 'Dodajanje vsebine v datoteko ...' ;
#Počakajte 1 sekundo
spati ( 1 ) ;

#Vpišite vsebino na konec datoteke
tiskanje $FileHandler 'To je nova linija. \n ' ;
#Zaprite upravljalnik datotek
$FileHandler- > blizu ;
}
drugače
{
reči 'Datoteka ne obstaja.' ;
}

Izhod:

Glede na izhod je v datoteko »test.txt« dodana nova vrstica, velikost datoteke pa je 45 bajtov. Nato se izvede ukaz »cat«, da se preveri, ali je vsebina pravilno dodana v datoteko ali ne:

  p3-1

Zaključek


Modul FileHandle je ena od možnosti Perla za branje, pisanje ali dodajanje datotek. V tej vadnici so na preprostih primerih prikazane tri različne uporabe tega modula.