Satura rādītājs
Neskatoties uz darbu ar Datu bāzes Tā ir ļoti laba lieta, un tas ietaupa mums daudz darba, veidojot vaicājumus un saistot ierakstus, ir reizes, kad mums ir jāģenerē faili, jo mums nav servera Datu bāze pieejams vai varbūt tāpēc, ka mums nav jāsaglabā ieraksts, bet gan nesaistīta datu kopa.Failu pārvaldība ir joma, ko daudzi joprojām uzskata par sarežģītu vai varbūt novecojušu, tomēr tas nav pareizi, failu ģenerēšana ir būtiska sistēmu un lietojumprogrammu attīstībā. Fails var būt no ģenerēšanas .txt ar dažām līnijām, jo īpaši līdz lielo ģenerēšanai .xml ka mēs varam definēt konfigurāciju.
Lai apstrādātu visu, kas saistīts ar faila izveidi sistēmā, Java paļauties uz klasi Fails bibliotēkas pakotnē datu ievadīšanai un izvadīšanai java.io. Šī klase piedāvā dažādas metodes, kas ļauj veikt darbības, sākot no izveidot un dzēst failus, izveidot direktorijus, apstiprināt atļaujas utt..
Pirms mēs praksē redzam, kā mēs varam izmantot klasi failu operāciju veikšanai, mums ir jāsaprot, ka viņi veic dažas no savām galvenajām metodēm, tāpēc mums būs teorētiska bāze, pie kuras mēs varam doties, kad mums tiek uzdota konkrēta problēma, kas prasa failu apstrāde mūsu programmās:
pastāv ()Šī metode sniedz mums Būla atbildi par konkrēta faila esamību direktorijā, kuru mēs norādām, to izsaucot, acīmredzot tā atgriež patiesu vai patiesu, ja fails ir atrasts, un nepatiesu vai nepatiesu, ja tā nav.
getCanonicalPath ()Šī metode atgriež pilnu nosaukumu, ieskaitot faila ceļu, ir ļoti svarīgi iegūt mūsu faila absolūto pozīciju sistēmā, kurā mēs izpildām savu programmu.
getName ()Pretēji iepriekšējai metodei tiek atgriezts tikai faila relatīvais un īsais nosaukums, tas ir, neiekļaujot adresi vai mapi, kurā tas atrodas.
canRead ()Šī metode ļauj mums pārbaudīt, vai mums ir atļauja lasīt failu, ir ļoti svarīgi pārbaudīt, vai mēs varam nolasīt failu pirms darbības uzsākšanas ar to, tādā veidā mēs varam samazināt izņēmumus un ietaupīt sistēmas resursus.
canWrite ()Šī ir vēl viena metode, kas palīdz mums apstiprināt failu atļaujas, piemērojot to klases eksemplāram Fails paziņos mums, vai varam uzrakstīt atbilstošo failu.
garums ()Šī metode ir viena no visnoderīgākajām, jo tā ļauj mums uzzināt faila lielumu, kas ir svarīga pārbaude apstrādes laikā.
isFile ()Visbeidzot, šī metode ļauj mums zināt, vai tas, ko mēs vērtējam, ir fails vai direktorijs, tāpēc mēs zināsim, vai strādājam pie vēlamās struktūras.
faila izveidošana Tas ir process, kurā mēs rakstām sistēmā, kurā darbojas mūsu programma. Pastāv atšķirība starp faila rakstīšanu un rakstīšanu faila iekšienē, pirmais norāda, ka mēs ģenerējam failu sistēmā, bet mēs ne vienmēr esam tam pievienojuši saturu; No otras puses, otrais norāda, ka mēs pievienojam saturu esošam failam.
Viņiem var rasties jautājums, kāpēc mēs vēlamies tukšu failu, tukšs fails nav bezjēdzīgs, tas var būt daļa no lielāka procesa lietojumprogrammā, piemēram, metode izveido failu un pēc procesa rezultāta par pievienošanu rūpējas cita metode. datus tam. Tam var būt izšķiroša nozīme arī validācijās, kad mēs ģenerējam pagaidu failus, lai programmai norādītu, kurā procesa posmā mēs atrodamies utt.
Tālāk apskatīsim nelielu kodu, kurā mēs ģenerējam tukšu plakanu failu.
importēt java.io. *; importēt java.io.File; public class CreateFiles {public static void main (String [] argv) met IOException {if (argv.length == 0) {System.err.println ("Jums jāievada nosaukums pēc parametra"); Sistēma.iziet (1); } par (virknes faila nosaukums: argv) {jauns fails (faila nosaukums) .createNewFile (); }}}
Mēs redzam, ka pirmā lieta, ko mēs darām, ir klases importēšana java.io lai varētu piekļūt izņēmumu apstrādei ar IOException, tad mēs importējam klasi java.io.File kas ļauj mums tieši manipulēt ar failiem.
Tad mēs izveidojam savu klasi un tās metodi galvenais Mēs norādām, ka tā saņems argumentus, mēs to darām, lai dinamiski norādītu failu nosaukumus. Tā kā mums ir nepieciešams nosaukums, mēs darām nelielu apstiprinājumu, kas norāda, ka, ja faila nosaukums netiek saņemts, tas tiek lūgts to ievietot un programma tiek pārtraukta. Visbeidzot, katram saņemtajam argumentam mēs izveidosim jaunu failu, ar to mēs darīsim jaunu klases eksemplāru Fails un ar metodi createNewFile () mēs ģenerējam failu sistēmā.
Mums jāapzinās, ka, ja mūsu programmai nav pietiekamu atļauju izveidot failu savā direktorijā, mēs saņemsim kļūdu. Bez papildu domām, redzēsim, kā izskatās mūsu programma, palaižot to konsolē:
PALIELINĀT
Mēs varam redzēt, kā mūsu sākotnējā validācija darbojās, un pēc tam, kad esam nodevuši tā ģenerēto faila nosaukumu, lai pārbaudītu pēdējo, mēs vienkārši esam rež no mūsu direktorija un tādējādi mēs pārbaudām faila esamību.Vēl viena no visbiežāk sastopamajām darbībām, strādājot ar failiem pēc rakstīšanas un dzēšanas, ir pārdēvēšana Java Mums ir jāievēro process, kas var šķist sarežģīts, taču, kā mēs redzēsim piemērā, kas tiks pievienots paskaidrojumam, tas ir diezgan viegli saprotams.
Kā to izdarīt?Pārdēvēt failu mapē Java nepieciešami divi tipa objekti Fails, pirmajā būs fails, kuru mēs vēlamies pārdēvēt, un otrajā ir faila jaunais nosaukums, tiklīdz mēs izpildīsim šos nosacījumus, mums ir jāizsauc metode pārdēvēt uz () pār esošo faila objektu un nodot tam jauno objektu ar jauno nosaukumu.
Apskatīsim kodu, kas mums nepieciešams, lai mūsu failā veiktu pārdēvēšanas darbību:
importēt java.io. *; importēt java.io.File; public class RenameFiles {public static void main (String [] argv) met IOException {Fails FirstObject = jauns fails ("NewFile.txt"); Fails secondobject = jauns fails ("FileWithNewName.txt"); FirstObject.renameTo (SecondObject); }}
Mēs importējam atbilstošās klases un paketes, saglabājot to pašu, kas iepriekšējā piemērā.
Metodes iekšpusē galvenais () mēs izveidosim savu pirmo objektu un ievietosim faila nosaukumu, kuru mēs izveidojām iepriekšējā piemērā, šajā gadījumā tas ir FileNew.txt. Pēc tam izvēlētajā piemērā mēs izveidojam otru objektu ar jauno nosaukumu, kādu vēlamies savam failam FileWithNewName.txt.
Visbeidzot, pirmajam objektam mēs izmantojam metodi pārdēvēt uz () un kā argumentu vai parametru mēs nododam tam otro objektu, kuram ir mūsu faila jaunais nosaukums. Apskatīsim, kā tas izskatās konsolē, palaižot kodu:
PALIELINĀT
Mēs pamanījām, kā mainījās mape, un tagad tas atspoguļo mūsu jauno failu, salīdzinot ar pirmā faila izveides piemēra izpildi.Visbeidzot, mēs redzēsim citu darbību, kas ir diezgan izplatīta, strādājot ar failiem, un tā ir dzēšana, iespējams, šī ir viena no vienkāršākajām, jo mums ir jāzina tikai faila nosaukums, jāapstiprina, ka tas pastāv, un pēc tam turpiniet dzēšanu to, izmantojot metodi dzēst () kur mēs nodosim attiecīgā faila nosaukumu. Tālāk redzēsim, kā mēs to sasniedzam:
importēt java.io. *; importēt java.io.File; publiska klase DeleteFile {public static void main (String [] argv) {delete ('FileWithNewName.txt'); } public static void delete (String filenameDelete) {try {File file = new File (faila nosaukumsDelete); if (! file.exists ()) {System.err.println ("Fails" + faila nosaukumsDelete + "šajā direktorijā nepastāv"); atgriešanās; } ja (file.delete ()) System.err.println ("** Fails" + fileNameDelete + "ir dzēsts **"); else System.err.println ("Nevarēja izdzēst failu:" + faila nosaukumsDelete); } catch (SecurityException e) {System.err.println ("Nevar izdzēst failu:" + DeleteFileName + "(" + e.getMessage () + ")"); }}}
Mēs redzam, ka šī programma ir nedaudz plašāka nekā iepriekšējās, tas ir tāpēc, ka esam izveidojuši a atkārtoti lietojama funkcija Failu dzēšanai, ja mēs vispirms pārbaudām, vai fails pastāv, tad turpinām to dzēst, šeit mēs pārbaudīsim, vai tas patiešām ir izdzēsts, pretējā gadījumā mēs informējam lietotāju, ka failu nevar noņemt no failu sistēmas.
Konsolē mēs redzam, kā mums izdevās veiksmīgi izpildīt šo darbību, tāpēc mēs izmantojam failu, kuru bijām pārdēvējuši iepriekšējā piemērā, tāpēc, izveidojot mapes satura sarakstu, mēs redzēsim izmaiņas:
PALIELINĀT
Visbeidzot, mēs mēģināsim vēlreiz izdzēst, lai mēs varētu novērot validāciju darbību:PALIELINĀT
Ar to mēs beidzam šo pamācību, un mēs esam iemācījušies ģenerēt failus, turklāt veicot divas no visbiežāk izmantotajām darbībām failu manipulācijās, tādējādi mēs varam iekļaut šīs metodes savās programmās un lietojumprogrammās, baudot priekšrocības, ko sniedz šāda veida metodes var mūs atvest.