Модул ФилеХандле у Перлу

Modul Filehandle U Perlu



У Перлу постоји више начина за креирање и приступ датотекама. Датотека се може отворити за читање, писање или ажурирање у Перл-у помоћу руковаоца датотекама. Руковалац датотекама се може користити у методи опен() у формату структурираног програмирања или објектно оријентисаном програмском формату. Модул ФилеХандле се може користити у Перлу за декларисање руковаоца фајлом као објекат и коришћење овог објекта за отварање датотеке за креирање или приступање коришћењем различитих својстава и метода класе „ФилеХандле“. Употреба неких уобичајених метода модула ФилеХандле и методе коришћења ФилеХандле модула за рад са датотеком у Перлу приказане су у овом водичу.

Неке корисне методе ФилеХандле-а

Неке најчешће коришћене методе модула ФилеХандле су следеће:

Метод Сврха
реци Користи се за бројање величине датотеке у бајтовима.
гетц Користи се за читање сваког знака садржаја датотеке.
тражити Користи се за померање показивача датотеке на одређену позицију.
еоф Означава крај датотеке.
Близу Користи се за затварање претходно дефинисаног руковаоца датотекама.

Примери Перл ФилеХандле-а

Различите употребе модула ФилеХандле приказане су у овом делу упутства користећи више примера.







Пример 1: Креирајте нову датотеку

Креирајте Перл датотеку са следећом скриптом која креира нову датотеку користећи ФилеХандле модул. Име датотеке се узима од корисника и проверава да ли постоји или не. Ако датотека не постоји, датотека се отвара за писање креирањем објекта класе „ФилеХандле” након чекања 1 секунде.



#!/уср/бин/перл

користити строге ;
користити упозорења ;
користите 5.34.0 ;
користите ФилеХандле ;

#Преузмите име датотеке од корисника за креирање
принт 'Унесите име датотеке:' ;
мој $ф = <>;
цхомп ( ) ;

#Проверите да ли датотека већ постоји или не
ако ( -е $ф )
{
#Одштампајте поруку ако датотека постоји
рецимо 'Датотека већ постоји.' ;
}

друго

{
#Креирај објекат за руковање датотекама
мој $ФилеХандлер = ФилеХандле- > Нова ;
рецимо 'Уписивање у датотеку...' ;
#Сачекајте 1 секунду
спавати ( 1 ) ;

#Отворите датотеку за писање
ако ( $ФилеХандлер- > отворен ( '> $ф' ) )
{
#Напишите ред текста у датотеку
принт $ФилеХандлер „То је тест порука. То је друга линија. ' ;
#Затворите обрађивач датотека
$ФилеХандлер- > Близу ;
}

}

Излаз:



Према излазу, датотека “тест.ткт” раније није постојала и ова датотека је креирана са два реда текста. Затим се извршава команда „цат“ да би се проверило да ли је датотека успешно креирана са садржајем или не:





  п1-1

Скрипта се поново извршава са истом улазном вредношћу и порука „Датотека већ постоји“ се штампа овде јер је датотека „тест.ткт“ креирана раније.



  п1-2

Пример 2: Прочитајте садржај датотеке

Креирајте Перл датотеку са следећом скриптом која чита садржај датотеке користећи класу „ФилеХандле“ ако датотека постоји. Име датотеке је преузето од корисника.

#!/уср/бин/перл

користити строге ;
користити упозорења ;
користите 5.34.0 ;
користите ФилеХандле ;

#Преузмите име датотеке од корисника за креирање
мој $ф = <>;
мој $ф = ;
цхомп ( ) ;

#Проверите да ли датотека већ постоји или не
ако ( -е $ф )
{
#Отворите датотеку за читање
мој $ФилеХандлер = ФилеХандле- > Нова ( ' < $ф' ) ;
#Одштампајте садржај датотеке
принт < $ФилеХандлер >;
#Затворите обрађивач датотека
затворите $ФилеХандлер ;
}

Излаз:

Садржај датотеке „тест.ткт“ се штампа у излазу јер постоји на тренутној локацији:

  п2

Пример 3: Додајте садржај у датотеку

Направите Перл датотеку са следећом скриптом која додаје садржај у непразну датотеку и одштампа величину датотеке у бајтовима. Име датотеке је преузето од корисника. Ако датотека постоји и садржи податке, ред текста се додаје на крај датотеке. У супротном, порука се штампа.

#!/уср/бин/перл

користити строге ;
користити упозорења ;
користите 5.34.0 ;
користите ФилеХандле ;

#Преузмите име датотеке од корисника за креирање
принт 'Унесите име датотеке:' ;
мој $ф = <>;
цхомп ( ) ;

#Проверите да ли датотека већ постоји и да ли је празна или не
ако ( -с $ф )
{


мој $ФилеХандлер = ФилеХандле- > Нова ( ' >> $ф' ) ;
#Одштампајте величину датотеке
принт „Величина датотеке је“ . $ФилеХандлер- > реци. „бајтова. ' ;
рецимо „Додавање садржаја у датотеку...“ ;
#Сачекајте 1 секунду
спавати ( 1 ) ;

#Напишите садржај на крају датотеке
принт $ФилеХандлер „То је нова линија. ' ;
#Затворите обрађивач датотека
$ФилеХандлер- > Близу ;
}
друго
{
рецимо 'Фајл не постоји.' ;
}

Излаз:

Према излазу, нови ред се додаје датотеци „тест.ткт“ и величина датотеке је 45 бајтова. Затим се извршава команда „цат“ да би се проверило да ли је садржај правилно додат у датотеку или не:

  п3-1

Закључак


Модул ФилеХандле је једна од опција Перла за читање, писање или додавање датотека. Три различите употребе овог модула су приказане у овом водичу користећи једноставне примере.