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:
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”.
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/perluż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:
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/perluż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:
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.