Moduł FileHandle w Perlu

Modul Filehandle W Perlu



W Perlu istnieje wiele sposobów tworzenia plików i uzyskiwania do nich dostępu. Plik można otworzyć do odczytu, zapisu lub aktualizacji w Perlu za pomocą procedury obsługi plików. Procedura obsługi plików może być używana w metodzie open() w formacie programowania strukturalnego lub obiektowego. Modułu FileHandle można użyć w Perlu do zadeklarowania procedury obsługi plików jako obiektu i wykorzystania tego obiektu do otwarcia pliku w celu utworzenia lub uzyskania dostępu przy użyciu różnych właściwości i metod klasy „FileHandle”. W tym samouczku pokazano wykorzystanie niektórych typowych metod modułu FileHandle oraz metod wykorzystania modułu FileHandle do pracy z plikiem w Perlu.

Kilka przydatnych metod FileHandle

Niektóre powszechnie używane metody modułu FileHandle są następujące:

metoda Zamiar
powiedzieć Służy do zliczania rozmiaru pliku w bajtach.
uzyskać Służy do odczytywania każdego znaku zawartości pliku.
szukać Służy do przesuwania wskaźnika pliku do określonej pozycji.
euf Wskazuje koniec pliku.
zamknąć Służy do zamknięcia wcześniej zdefiniowanej procedury obsługi plików.

Przykłady uchwytu pliku Perla

W tej części samouczka przedstawiono różne zastosowania modułu FileHandle na wielu przykładach.







Przykład 1: Utwórz nowy plik

Utwórz plik Perla za pomocą poniższego skryptu, który utworzy nowy plik za pomocą modułu FileHandle. Nazwa pliku jest pobierana od użytkownika i sprawdzana, czy istnieje, czy nie. Jeżeli plik nie istnieje, plik jest otwierany do zapisu poprzez utworzenie obiektu klasy „FileHandle” po odczekaniu 1 sekundy.



#!/usr/bin/perl

użyj ścisłego ;
używać ostrzeżenia ;
użyj wersji 5.34.0 ;
użyj FileHandle ;

#Pobierz nazwę pliku od użytkownika, który chcesz utworzyć
wydrukować „Wprowadź nazwę pliku:” ;
moje $f = <>;
przegryźć ( $f ) ;

#Sprawdź, czy plik już istnieje, czy nie
Jeśli ( -e $f )
{
#Wydrukuj wiadomość, jeśli plik istnieje
mowić 'Plik już istnieje.' ;
}

w przeciwnym razie

{
#Utwórz obiekt obsługi plików
mój $FileHandler = Uchwyt pliku- > nowy ;
mowić „Zapisywanie do pliku…” ;
#Poczekaj 1 sekundę
spać ( 1 ) ;

#Otwórz plik do zapisu
Jeśli ( $FileHandler- > otwarty ( '> $f' ) )
{
#Wpisz wiersz tekstu do pliku
wydrukować $ Obsługa plików „To wiadomość testowa. \N To jest druga linia. \N ' ;
#Zamknij procedurę obsługi plików
$FileHandler- > zamknąć ;
}

}

Wyjście:



Z wyników wynika, że ​​plik „test.txt” nie istniał wcześniej i plik ten składa się z dwóch linii tekstu. Następnie wykonywana jest komenda „cat” w celu sprawdzenia, czy plik został pomyślnie utworzony z zawartością, czy nie:





  p1-1

Skrypt jest wykonywany ponownie z tą samą wartością wejściową i wypisywany jest tutaj komunikat „Plik już istnieje”, ponieważ wcześniej utworzony został plik „test.txt”.



  p1-2

Przykład 2: Przeczytaj zawartość pliku

Utwórz plik Perla za pomocą poniższego skryptu, który odczytuje zawartość pliku przy użyciu klasy „FileHandle”, jeśli plik istnieje. Nazwa pliku jest pobierana od użytkownika.

#!/usr/bin/perl

użyj ścisłego ;
używać ostrzeżenia ;
użyj wersji 5.34.0 ;
użyj FileHandle ;

#Pobierz nazwę pliku od użytkownika, który chcesz utworzyć
moje $f = <>;
moje $f = ;
przegryźć ( $f ) ;

#Sprawdź, czy plik już istnieje, czy nie
Jeśli ( -e $f )
{
#Otwórz plik do odczytu
mój $FileHandler = Uchwyt pliku- > nowy ( „<$f” ) ;
#Wydrukuj zawartość pliku
wydrukować < $ Obsługa plików >;
#Zamknij procedurę obsługi plików
zamknij $FileHandler ;
}

Wyjście:

Na wyjściu zostanie wydrukowana zawartość pliku „test.txt”, ponieważ istnieje on w bieżącej lokalizacji:

  p2

Przykład 3: Dołączanie treści do pliku

Utwórz plik Perla za pomocą poniższego skryptu, który dołączy zawartość do niepustego pliku i wydrukuje rozmiar pliku w bajtach. Nazwa pliku jest pobierana od użytkownika. Jeśli plik istnieje i zawiera dane, na końcu pliku dodawany jest wiersz tekstu. W przeciwnym razie drukowany jest komunikat.

#!/usr/bin/perl

użyj ścisłego ;
używać ostrzeżenia ;
użyj wersji 5.34.0 ;
użyj FileHandle ;

#Pobierz nazwę pliku od użytkownika, który chcesz utworzyć
wydrukować „Wprowadź nazwę pliku:” ;
moje $f = <>;
przegryźć ( $f ) ;

#Sprawdź, czy plik już istnieje i czy jest niepusty
Jeśli ( -s $f )
{


mój $FileHandler = Uchwyt pliku- > nowy ( ' >> $f' ) ;
#Wydrukuj rozmiar pliku
wydrukować „Rozmiar pliku to” . $FileHandler- > powiedzieć. „bajty. \N ' ;
mowić „Dołączanie zawartości do pliku…” ;
#Poczekaj 1 sekundę
spać ( 1 ) ;

#Zapisz treść na końcu pliku
wydrukować $ Obsługa plików „To nowa linia. \N ' ;
#Zamknij procedurę obsługi plików
$FileHandler- > zamknąć ;
}
w przeciwnym razie
{
mowić 'Plik nie istnieje.' ;
}

Wyjście:

Zgodnie z wynikami do pliku „test.txt” dodawana jest nowa linia, a rozmiar pliku wynosi 45 bajtów. Następnie wykonywana jest komenda „cat” w celu sprawdzenia, czy treść została poprawnie dodana do pliku:

  p3-1

Wniosek


Moduł FileHandle to jedna z opcji Perla umożliwiająca odczytywanie, zapisywanie i dołączanie plików. W tym samouczku na prostych przykładach pokazano trzy różne zastosowania tego modułu.