Modul FileHandle v Perlu

Modul Filehandle V Perlu



V Perlu existuje několik způsobů vytváření a přístupu k souborům. Soubor lze otevřít pro čtení, zápis nebo aktualizaci v Perlu pomocí obslužného programu souboru. Obslužný program souboru lze použít v metodě open() ve formátu strukturovaného programování nebo ve formátu objektově orientovaného programování. Modul FileHandle lze v Perlu použít k deklaraci obsluhy souboru jako objektu a použít tento objekt k otevření souboru pro vytvoření nebo zpřístupnění pomocí různých vlastností a metod třídy „FileHandle“. Použití některých běžných metod modulu FileHandle a metody použití modulu FileHandle pro práci se souborem v Perlu jsou uvedeny v tomto tutoriálu.

Některé užitečné metody FileHandle

Některé běžně používané metody modulu FileHandle jsou následující:

Metoda Účel
sdělit Používá se k počítání velikosti souboru v bajtech.
getc Používá se ke čtení každého znaku obsahu souboru.
hledat Používá se k přesunutí ukazatele souboru na konkrétní pozici.
eof Označuje konec souboru.
zavřít Používá se k uzavření dříve definovaného obslužného programu souboru.

Příklady Perl FileHandle

Různá použití modulu FileHandle jsou ukázána v této části výukového programu na několika příkladech.







Příklad 1: Vytvořte nový soubor

Vytvořte soubor Perl pomocí následujícího skriptu, který vytvoří nový soubor pomocí modulu FileHandle. Název souboru je převzat od uživatele a zkontrolován, zda existuje nebo ne. Pokud soubor neexistuje, otevře se soubor pro zápis vytvořením objektu třídy „FileHandle“ po čekání 1 sekundy.



#!/usr/bin/perl

používat přísné ;
použití varování ;
použijte 5.34.0 ;
použijte FileHandle ;

#Vytvořte název souboru od uživatele
tisk 'Zadejte název souboru:' ;
můj $f = <>;
žvýkat ( $f ) ;

#Zkontrolujte, zda soubor již existuje nebo ne
-li ( -e $f )
{
#Vytiskněte zprávu, pokud soubor existuje
říci 'Soubor již existuje.' ;
}

jiný

{
#Vytvořit objekt obslužného programu souboru
můj $FileHandler = FileHandle- > Nový ;
říci 'Zápis do souboru...' ;
#Počkejte 1 sekundu
spát ( 1 ) ;

#Otevřete soubor pro zápis
-li ( $FileHandler- > OTEVŘENO ( '> $f' ) )
{
#Napište do souboru řádek textu
tisk $FileHandler „Je to testovací zpráva. \n Je to druhý řádek. \n ' ;
#Zavřete obslužný program souboru
$FileHandler- > zavřít ;
}

}

Výstup:



Podle výstupu soubor „test.txt“ dříve neexistoval a tento soubor je vytvořen se dvěma řádky textu. Poté se provede příkaz „cat“, aby se zkontrolovalo, zda byl soubor úspěšně vytvořen s obsahem nebo ne:





  p1-1

Skript se provede znovu se stejnou vstupní hodnotou a zde se vytiskne zpráva „Soubor již existuje“, protože soubor „test.txt“ byl vytvořen dříve.



  p1-2

Příklad 2: Přečtěte si obsah souboru

Vytvořte soubor Perl pomocí následujícího skriptu, který čte obsah souboru pomocí třídy „FileHandle“, pokud soubor existuje. Název souboru je převzat od uživatele.

#!/usr/bin/perl

používat přísné ;
použití varování ;
použijte 5.34.0 ;
použijte FileHandle ;

#Převzít název souboru od uživatele k vytvoření
můj $f = <>;
můj $f = ;
žvýkat ( $f ) ;

#Zkontrolujte, zda soubor již existuje nebo ne
-li ( -e $f )
{
#Otevřete soubor ke čtení
můj $FileHandler = FileHandle- > Nový ( '< $f' ) ;
# Vytiskněte obsah souboru
tisk < $FileHandler >;
#Zavřete obslužný program souboru
zavřete $FileHandler ;
}

Výstup:

Obsah souboru „test.txt“ se vytiskne ve výstupu, protože existuje v aktuálním umístění:

  p2

Příklad 3: Připojení obsahu do souboru

Vytvořte soubor Perl pomocí následujícího skriptu, který připojí obsah do neprázdného souboru a vytiskne velikost souboru v bajtech. Název souboru je převzat od uživatele. Pokud soubor existuje a obsahuje data, je na konec souboru přidán řádek textu. Jinak se vytiskne zpráva.

#!/usr/bin/perl

používat přísné ;
použití varování ;
použijte 5.34.0 ;
použijte FileHandle ;

#Převzít název souboru od uživatele k vytvoření
tisk 'Zadejte název souboru:' ;
můj $f = <>;
žvýkat ( $f ) ;

#Zkontrolujte, zda soubor již existuje a zda není prázdný
-li ( -s $f )
{


můj $FileHandler = FileHandle- > Nový ( ' >> $f' ) ;
# Vytiskněte velikost souboru
tisk 'Velikost souboru je' . $FileHandler- > sdělit. 'bajtů. \n ' ;
říci 'Připojování obsahu do souboru...' ;
#Počkejte 1 sekundu
spát ( 1 ) ;

#Na konec souboru napište obsah
tisk $FileHandler „Je to nová linie. \n ' ;
#Zavřete obslužný program souboru
$FileHandler- > zavřít ;
}
jiný
{
říci 'Soubor neexistuje.' ;
}

Výstup:

Podle výstupu je k souboru „test.txt“ připojen nový řádek a velikost souboru je 45 bajtů. Poté se provede příkaz „cat“, který zkontroluje, zda je obsah do souboru přidán správně nebo ne:

  p3-1

Závěr


Modul FileHandle je jednou z možností Perlu pro čtení, zápis nebo připojení souborů. V tomto tutoriálu jsou na jednoduchých příkladech ukázána tři různá použití tohoto modulu.