Modul FileHandle v jazyku Perl

Modul Filehandle V Jazyku Perl



V Perle existuje viacero spôsobov vytvárania a prístupu k súborom. Súbor je možné otvoriť na čítanie, zápis alebo aktualizáciu v jazyku Perl pomocou obsluhy súboru. Obslužný program súboru možno použiť v metóde open() vo formáte štruktúrovaného programovania alebo objektovo orientovaného programovacieho formátu. Modul FileHandle možno použiť v Perle na deklarovanie obsluhy súboru ako objektu a použiť tento objekt na otvorenie súboru na vytvorenie alebo prístup pomocou rôznych vlastností a metód triedy „FileHandle“. Použitie niektorých bežných metód modulu FileHandle a metódy použitia modulu FileHandle na prácu so súborom v Perle sú uvedené v tomto návode.

Niektoré užitočné metódy FileHandle

Niektoré bežne používané metódy modulu FileHandle sú nasledovné:

Metóda Účel
povedať Používa sa na počítanie veľkosti súboru v bajtoch.
getc Používa sa na čítanie každého znaku obsahu súboru.
hľadať Používa sa na presunutie ukazovateľa súboru na konkrétnu pozíciu.
eof Označuje koniec súboru.
Zavrieť Používa sa na zatvorenie predtým definovaného obslužného programu súboru.

Príklady Perl FileHandle

Rôzne použitia modulu FileHandle sú uvedené v tejto časti tutoriálu na viacerých príkladoch.







Príklad 1: Vytvorte nový súbor

Vytvorte súbor Perl pomocou nasledujúceho skriptu, ktorý vytvorí nový súbor pomocou modulu FileHandle. Názov súboru sa prevezme od používateľa a skontroluje sa, či existuje alebo nie. Ak súbor neexistuje, súbor sa otvorí na zápis vytvorením objektu triedy „FileHandle“ po čakaní 1 sekundy.



#!/usr/bin/perl

používať prísne ;
použitie upozornenia ;
použite 5.34.0 ;
použite FileHandle ;

#Zoberte názov súboru od používateľa, ktorý chcete vytvoriť
vytlačiť 'Zadajte názov súboru:' ;
môj $f = <>;
žumpa ( $f ) ;

#Skontrolujte, či súbor už existuje alebo nie
ak ( -e $f )
{
# Vytlačte správu, ak súbor existuje
povedať 'Súbor už existuje.' ;
}

inak

{
#Vytvorte objekt obsluhy súboru
môj $FileHandler = FileHandle- > Nový ;
povedať 'Zápis do súboru...' ;
#Počkajte 1 sekundu
spať ( 1 ) ;

#Otvorte súbor na zápis
ak ( $FileHandler- > OTVORENÉ ( '> $f' ) )
{
#Napíšte do súboru riadok textu
vytlačiť $FileHandler „Je to skúšobná správa. \n Je to druhý riadok. \n ' ;
#Zatvorte obslužný program súboru
$FileHandler- > Zavrieť ;
}

}

Výkon:



Podľa výstupu súbor „test.txt“ predtým neexistoval a tento súbor je vytvorený s dvoma riadkami textu. Potom sa vykoná príkaz „cat“, aby sa skontrolovalo, či bol súbor úspešne vytvorený s obsahom alebo nie:





  p1-1

Skript sa znova spustí s rovnakou vstupnou hodnotou a tu sa vytlačí hlásenie „Súbor už existuje“, pretože súbor „test.txt“ bol vytvorený predtým.



  p1-2

Príklad 2: Prečítajte si obsah súboru

Vytvorte súbor Perl pomocou nasledujúceho skriptu, ktorý načíta obsah súboru pomocou triedy „FileHandle“, ak súbor existuje. Názov súboru je prevzatý od používateľa.

#!/usr/bin/perl

používať prísne ;
použitie upozornenia ;
použite 5.34.0 ;
použite FileHandle ;

#Zoberte názov súboru od používateľa, ktorý chcete vytvoriť
môj $f = <>;
môj $f = ;
žumpa ( $f ) ;

#Skontrolujte, či súbor už existuje alebo nie
ak ( -e $f )
{
#Otvorte súbor na čítanie
môj $FileHandler = FileHandle- > Nový ( '< $f' ) ;
# Vytlačte obsah súboru
vytlačiť < $FileHandler >;
#Zatvorte obslužný program súboru
zatvorte $FileHandler ;
}

Výkon:

Obsah súboru „test.txt“ sa vytlačí vo výstupe, pretože existuje v aktuálnom umiestnení:

  p2

Príklad 3: Pridanie obsahu do súboru

Vytvorte súbor Perl pomocou nasledujúceho skriptu, ktorý pripojí obsah do neprázdneho súboru a vytlačí veľkosť súboru v bajtoch. Názov súboru je prevzatý od používateľa. Ak súbor existuje a obsahuje údaje, na koniec súboru sa pridá riadok textu. V opačnom prípade sa vytlačí správa.

#!/usr/bin/perl

používať prísne ;
použitie upozornenia ;
použite 5.34.0 ;
použite FileHandle ;

#Zoberte názov súboru od používateľa, ktorý chcete vytvoriť
vytlačiť 'Zadajte názov súboru:' ;
môj $f = <>;
žumpa ( $f ) ;

#Skontrolujte, či súbor už existuje a či nie je prázdny
ak ( -s $f )
{


môj $FileHandler = FileHandle- > Nový ( ' >> $f' ) ;
# Vytlačte veľkosť súboru
vytlačiť 'Veľkosť súboru je' . $FileHandler- > povedať. 'bajtov. \n ' ;
povedať 'Pripájanie obsahu do súboru...' ;
#Počkajte 1 sekundu
spať ( 1 ) ;

#Napíšte obsah na koniec súboru
vytlačiť $FileHandler „Je to nová línia. \n ' ;
#Zatvorte obslužný program súboru
$FileHandler- > Zavrieť ;
}
inak
{
povedať 'Súbor neexistuje.' ;
}

Výkon:

Podľa výstupu sa do súboru „test.txt“ pripojí nový riadok a veľkosť súboru je 45 bajtov. Potom sa vykoná príkaz „cat“, aby sa skontrolovalo, či je obsah do súboru pridaný správne alebo nie:

  p3-1

Záver


Modul FileHandle je jednou z možností Perlu na čítanie, zápis alebo pripojenie súborov. V tomto návode sú na jednoduchých príkladoch znázornené tri rôzne použitia tohto modulu.