Sadržaj
Unatoč radu s Baze podataka To je jako dobra stvar i štedi nam mnogo posla pri postavljanju upita i povezivanju zapisa, ponekad moramo generirati datoteke jer nemamo poslužitelj Baza podataka dostupno ili možda zato što ne moramo spremati zapis već nepovezani skup podataka.Upravljanje datotekama područje je koje mnogi i dalje smatraju složenim ili možda zastarjelim, međutim to je netočno, generiranje datoteka od vitalnog je značaja za razvoj sustava i aplikacija. Datoteka može varirati od generiranja a .txt s nekim linijama posebno, do generacije velikih .xml da možemo definirati konfiguraciju.
Kako biste obradili sve što uključuje stvaranje datoteke u sustavu, Java računajte na klasu Datoteka unutar paketa knjižnice za rukovanje unosom i izlazom podataka java.io. Ova klasa nudi nam različite metode koje nam omogućuju izvođenje operacija u rasponu od stvaranje i brisanje datoteka, stvaranje direktorija, provjera dopuštenja itd..
Prije nego što u praksi vidimo kako možemo koristiti klasu za izvođenje operacija nad datotekama, moramo shvatiti da oni rade neke od svojih glavnih metoda, s tim ćemo imati teoretsku osnovu na koju možemo otići kada nam se predstavi određeni problem koji zahtijeva rukovanje datotekama u našim programima:
postoji ()Ova metoda daje Booleov odgovor o postojanju određene datoteke u direktoriju koji navedemo prilikom dozivanja, očito vraća true ili true ako se datoteka pronađe i false ili false ako nije.
getCanonicalPath ()Ova metoda vraća puno ime uključujući put do datoteke, vrlo je važno dobiti apsolutni položaj naše datoteke unutar sustava u kojem izvršavamo naš program.
getName ()Za razliku od prethodne metode, ovo vraća samo relativni i kratki naziv datoteke, odnosno bez uključivanja adrese ili mape u kojoj se nalazi.
canRead ()Ova nam metoda omogućuje provjeru imamo li dopuštenje za čitanje datoteke, vrlo je važno provjeriti možemo li čitati datoteku ili ne prije početka operacije s njom, na taj način možemo smanjiti iznimke i uštedjeti sistemske resurse.
canWrite ()Ovo je još jedna metoda koja nam pomaže provjeriti dopuštenja za datoteke pri primjeni na instancu klase Datoteka obavijestit će nas možemo li napisati odgovarajuću datoteku.
duljina ()Ova je metoda jedna od najkorisnijih jer nam omogućuje da znamo veličinu datoteke, što je važna provjera pri obradi.
isFile ()Konačno, ova metoda nam omogućuje da znamo je li ono što ocjenjujemo datoteka ili direktorij, pa ćemo znati radimo li na strukturi koju želimo.
The stvaranje datoteke To je proces kojim unutar sustava pišemo gdje se naš program izvodi. Postoji razlika između pisanja datoteke i pisanja unutar datoteke, prva nam govori da datoteku generiramo unutar sustava, ali joj nismo nužno dodali sadržaj; S druge strane, druga nam govori da dodajemo sadržaj u postojeću datoteku.
Možda se pitaju zašto želimo praznu datoteku, prazna datoteka nije beskorisna, može biti dio većeg procesa unutar aplikacije, na primjer metoda stvara datoteku, a nakon rezultata procesa druga metoda brine se o dodavanju podatke na njega. Također može biti od vitalnog značaja za provjere valjanosti, gdje generiramo privremene datoteke kako bismo programu ukazali u kojoj se fazi procesa nalazimo, itd.
Pogledajmo ispod mali kod gdje generiramo praznu ravnu datoteku.
uvoz java.io. *; uvoz java.io.File; javna klasa CreateFiles {public static void main (String [] argv) baca IOException {if (argv.length == 0) {System.err.println ("Morate unijeti ime prema parametru"); System.exit (1); } za (String naziv datoteke: argv) {nova datoteka (naziv datoteke) .createNewFile (); }}}
Vidimo da je prvo što radimo uvoz klasa java.io za pristup obradi iznimki IOException, zatim uvozimo klasu java.io.Datoteka što nam omogućuje izravnu manipulaciju datotekama.
Zatim stvaramo našu klasu i njezinu metodu glavni Ukazujemo da će primati argumente, to činimo kako bismo dinamički naznačili nazive datoteka. Kako nam je potrebno ime, ono što radimo je mala provjera valjanosti, što ukazuje na to da ako se naziv datoteke ne primi, od nje se traži da je postavi i program se prekida. Konačno, za svaki primljeni argument stvorit ćemo novu datoteku, a ovo što radimo je nova instanca klase Datoteka i s metodom createNewFile () generiramo datoteku u sustavu.
Moramo biti svjesni da ćemo dobiti pogrešku ako naš program nema dovoljna dopuštenja za stvaranje datoteke u svom direktoriju. Bez odlaganja, pogledajmo kako naš program izgleda kada ga pokrenemo na konzoli:
POVEĆAJTE
Možemo vidjeti kako je funkcionirala naša početna provjera valjanosti, a zatim kada proslijedimo naziv datoteke koji je generiran, za provjeru potonje jednostavno smo učinili red našeg imenika i na taj način provjeravamo postojanje datoteke.Još jedna od najčešćih operacija pri radu s datotekama nakon pisanja i brisanja je preimenovanje, za to u Java Moramo slijediti proces koji se može činiti kompliciranim, ali, kao što ćemo vidjeti u primjeru koji će pratiti objašnjenje, to je nešto što je prilično lako razumjeti.
Kako to učiniti?Preimenujte datoteku u Java zahtijeva dva objekta tipa Datoteka, prva će sadržavati datoteku koju želimo preimenovati, a druga sadrži novi naziv datoteke, nakon što ispunimo ove uvjete, moramo pozvati metodu preimenuj u () preko postojećeg objekta datoteke i proslijedite mu novi objekt s novim imenom.
Pogledajmo kôd koji nam je potreban za izvođenje operacije preimenovanja u našoj datoteci:
uvoz java.io. *; uvoz java.io.File; javna klasa RenameFiles {public static void main (String [] argv) baca IOException {File FirstObject = new File ("NewFile.txt"); Datoteka secondobject = nova datoteka ("FileWithNewName.txt"); FirstObject.renameTo (SecondObject); }}
Uvozimo odgovarajuće klase i pakete, zadržavajući iste kao u prethodnom primjeru.
Unutar metode glavni () stvorit ćemo naš prvi objekt i stavit ćemo naziv datoteke koju smo stvorili u prethodnom primjeru u ovom slučaju to je FileNew.txt. Zatim stvaramo drugi objekt s novim nazivom koji želimo za našu datoteku, u primjeru koji smo odabrali FileWithNewName.txt.
Na kraju, na prvi objekt primjenjujemo metodu preimenuj u () i kao argument ili parametar prosljeđujemo mu drugi objekt koji ima novi naziv za našu datoteku. Pogledajmo kako to izgleda na konzoli kada pokrenemo naš kôd:
POVEĆAJTE
Primijetili smo kako se mapa promijenila i sada odražava našu novu datoteku u usporedbi s izvršenjem prvog primjera stvaranja datoteke.Konačno ćemo vidjeti drugu operaciju koja je prilično česta pri radu s datotekama, a to je brisanje, ovo je možda jedna od najjednostavnijih, jer samo moramo znati naziv datoteke, provjeriti da li postoji, a zatim nastaviti brisanje to pomoću metode brisanje () gdje ćemo proslijediti naziv predmetne datoteke. Pogledajmo u sljedećem kodu kako to postižemo:
uvoz java.io. *; uvoz java.io.File; javna klasa DeleteFile {public static void main (String [] argv) {delete ('FileWithNewName.txt'); } public static void delete (String filenameDelete) {try {File file = new File (filenameDelete); if (! file.exists ()) {System.err.println ("Datoteka" + filenameDelete + "ne postoji u ovom direktoriju"); povratak; } if (file.delete ()) System.err.println ("** Datoteka" + fileNameDelete + "je izbrisana **"); else System.err.println ("Nije moguće izbrisati datoteku:" + filenameDelete); } catch (SecurityException e) {System.err.println ("Nije moguće izbrisati datoteku:" + DeleteFileName + "(" + e.getMessage () + ")"); }}}
Vidimo da je ovaj program malo opsežniji od prethodnih, to je zato što smo stvorili funkcija za višekratnu upotrebu Za brisanje datoteka, gdje prvo provjeravamo da datoteka postoji, zatim nastavljamo s brisanjem, ovdje ćemo potvrditi da je doista izbrisana, u protivnom obavještavamo korisnika da se datoteka ne može ukloniti iz datotečnog sustava.
U konzoli možemo vidjeti kako smo uspjeli izvršiti ovu operaciju, za to koristimo datoteku koju smo preimenovali u prethodnom primjeru, pa ćemo kad napravimo popis sadržaja mape vidjeti promjenu odraženu:
POVEĆAJTE
Na kraju ćemo pokušati ponovno izbrisati kako bismo mogli promatrati kako funkcioniraju provjere valjanosti:POVEĆAJTE
Ovim završavamo ovaj vodič, naučili smo generirati datoteke, uz izvršavanje dviju najčešće korištenih radnji za manipulaciju datotekama, s tim možemo uključiti ove tehnike u naše programe i aplikacije, uživajući u prednostima koje vam ova vrsta tehnika daje može nam donijeti.