Failų generavimas iš „Java“

Turinys
Nepaisant darbo su Duomenų bazės Tai labai geras dalykas ir sutaupome daug darbo atliekant užklausas ir susijusius įrašus, kartais reikia generuoti failus, nes neturime serverio Duomenų bazė galima, o gal todėl, kad mums nereikia įrašyti įrašo, o nesusijęs duomenų rinkinys.
Failų tvarkymas yra sritis, kurią daugelis vis dar laiko sudėtinga ar galbūt pasenusia, tačiau tai neteisinga, failų generavimas yra gyvybiškai svarbus kuriant sistemas ir programas. Failas gali būti nuo a .txt su kai kuriomis linijomis, ypač iki didelių .xml kad galėtume apibrėžti konfigūraciją.
Norėdami tvarkyti viską, kas susiję su failo kūrimu sistemoje, „Java“ pasikliauti klase Failas bibliotekos paketas, skirtas duomenims įvesti ir išvesti java.io. Šioje klasėje pateikiami įvairūs metodai, leidžiantys atlikti operacijas nuo kurti ir ištrinti failus, kurti katalogus, patvirtinti leidimus ir kt..
Prieš praktikoje matydami, kaip galime naudoti klasę failų operacijoms atlikti, turime suprasti, kad jie atlieka kai kuriuos savo pagrindinius metodus, todėl turėsime teorinę bazę, kuria galime pereiti, kai mums bus iškelta konkreti problema, kurios reikia failų tvarkymas mūsų programose:
egzistuoja ()Šis metodas suteikia mums loginį atsakymą apie tam tikro failo egzistavimą kataloge, kurį nurodome jį iškviesdami, akivaizdu, kad grąžinama tiesa arba tiesa, jei failas randamas, ir klaidingas arba klaidingas, jei ne.
getCanonicalPath ()Šis metodas grąžina visą pavadinimą, įskaitant failo kelią, labai svarbu gauti absoliučią mūsų failo padėtį sistemoje, kurioje vykdome savo programą.
getName ()Priešingai nei ankstesnis metodas, tai pateikia tik santykinį ir trumpą failo pavadinimą, ty neįtraukiant adreso ar aplanko, kuriame jis yra.
canRead ()Šis metodas leidžia mums patikrinti, ar turime leidimą skaityti failą, prieš pradedant operaciją su juo labai svarbu patikrinti, ar galime nuskaityti failą, ar ne, tokiu būdu galime sumažinti išimtis ir sutaupyti sistemos išteklių.
canWrite ()Tai dar vienas metodas, padedantis mums patvirtinti failų leidimus, kai jie taikomi klasės egzemplioriui Failas praneš mums, ar galime parašyti atitinkamą failą.
ilgis ()Šis metodas yra vienas naudingiausių, nes leidžia mums žinoti failo dydį, kuris yra svarbus patikrinimas apdorojant.
isFile ()Galiausiai, šis metodas leidžia mums žinoti, ar tai, ką vertiname, yra failas, ar katalogas, todėl žinosime, ar dirbame su norima struktūra.
The kuriant failą Tai procesas, kuriuo mes rašome sistemoje, kurioje vykdoma mūsų programa. Yra skirtumas tarp failo rašymo ir rašymo failo viduje, pirmasis mums sako, kad mes sukuriame failą sistemoje, bet nebūtinai pridėjome prie jo turinį; Kita vertus, antrasis mums sako, kad prie esamo failo pridedame turinį.
Jiems gali kilti klausimas, kodėl mes norime tuščio failo, tuščias failas nėra nenaudingas, jis gali būti didesnio proceso dalis programoje, pvz., Metodas sukuria failą, o po proceso rezultatas pridedamas kitas metodas duomenis į jį. Tai taip pat gali būti labai svarbu atliekant patvirtinimus, kai mes sugeneruojame laikinus failus, kurie nurodo programai, kuriame proceso etape esame ir pan.
Žemiau pamatysime nedidelį kodą, kuriame sugeneruojame tuščią plokščią failą.
 importuoti java.io. *; importuoti java.io.File; public class CreateFiles {public static void main (String [] argv) met IOException {if (argv.length == 0) {System.err.println ("Jūs turite įvesti pavadinimą pagal parametrą"); Sistema.išeiti (1); } for (String filename: argv) {new File (filename) .createNewFile (); }}} 

Mes matome, kad pirmas dalykas, kurį darome, yra klasių importas java.io kad galėtumėte pasiekti išimčių tvarkymą su IOException, tada importuojame klasę java.io.File tai leidžia mums tiesiogiai manipuliuoti failais.
Tada mes sukuriame savo klasę ir jos metodą pagrindinis Mes nurodome, kad ji gaus argumentus, tai darome norėdami dinamiškai nurodyti failų pavadinimus. Kadangi mums reikia pavadinimo, mes atliekame nedidelį patvirtinimą, kuris rodo, kad jei failo pavadinimas negaunamas, jo prašoma jį įdėti ir programa nutraukiama. Galiausiai kiekvienam gautam argumentui sukursime naują failą, o tai padarysime naują klasės egzempliorių Failas ir su metodu createNewFile () mes sugeneruojame failą sistemoje.
Turime žinoti, kad jei mūsų programa neturės pakankamai leidimų sukurti failą savo kataloge, gausime klaidą. Be jokių abejonių, pažiūrėkime, kaip atrodo mūsų programa, kai ją paleidžiame konsolėje:

DIDELIS

Mes galime pamatyti, kaip mūsų pirminis patvirtinimas veikė, o tada, kai perduodame failo pavadinimą, kuris buvo sugeneruotas, kad patikrintume, ką mes padarėme, rež mūsų katalogo ir taip patikriname, ar yra failas.
Kita dažniausiai pasitaikanti operacija dirbant su failais po rašymo ir ištrynimo yra pervardijimas „Java“ Turime sekti procesą, kuris gali atrodyti sudėtingas, tačiau, kaip matysime paaiškinime pateiktame pavyzdyje, tai gana lengva suprasti.
Kaip tai padaryti?Pervardykite failą į „Java“ reikalauja dviejų tipų objektų Failas, pirmame bus failas, kurį norime pervardyti, o antrame - naujas failo pavadinimas, kai įvykdysime šias sąlygas, turime iškviesti metodą pervardyti į () per esamą failo objektą ir perduoti jam naują objektą nauju pavadinimu.
Pažiūrėkime kodą, kurio mums reikia norint pervadinti failą:
 importuoti java.io. *; importuoti java.io.File; public class RenameFiles {public static void main (String [] argv) met IOException {Failas FirstObject = naujas failas ("NewFile.txt"); Failas secondobject = naujas failas ("FileWithNewName.txt"); FirstObject.renameTo (SecondObject); }} 

Importuojame atitinkamas klases ir paketus, išlaikydami tą patį, kaip ir ankstesniame pavyzdyje.
Metodo viduje pagrindinis () mes sukursime savo pirmąjį objektą ir įdėsime failo, kurį sukūrėme ankstesniame pavyzdyje, pavadinimą, šiuo atveju tai yra FileNew.txt. Tada pasirinktame pavyzdyje sukuriame antrą objektą nauju pavadinimu, kurio norime savo failui FileWithNewName.txt.
Galiausiai pirmam objektui taikome metodą pervardyti į () ir kaip argumentą ar parametrą perduodame jam antrąjį objektą, kuris turi naują pavadinimą mūsų failui. Pažiūrėkime, kaip tai atrodo konsolėje, kai paleidžiame kodą:

DIDELIS

Pastebėjome, kaip pasikeitė aplankas ir dabar atspindi mūsų naują failą, palyginti su pirmojo failo kūrimo pavyzdžio vykdymu.
Galiausiai pamatysime kitą operaciją, kuri yra gana įprasta dirbant su failais ir kuri yra ištrynimas, galbūt tai yra viena iš paprasčiausių, nes mums tereikia žinoti failo pavadinimą, patvirtinti jo egzistavimą ir tada ištrinti tai naudojant metodą Ištrinti () kur perduosime atitinkamo failo pavadinimą. Pažvelkime į šį kodą, kaip mes to pasiekiame:
 importuoti java.io. *; importuoti java.io.File; public class DeleteFile {public static void main (String [] argv) {delete ('FileWithNewName.txt'); } public static void delete (String filenameDelete) {pabandykite {File file = new File (filenameDelete); if (! file.exists ()) {System.err.println ("Failas" + filenameDelete + "šiame kataloge neegzistuoja"); grįžti; } if (file.delete ()) System.err.println ("** Failas" + fileNameDelete + "buvo ištrintas **"); else System.err.println ("Nepavyko ištrinti failo:" + failo pavadinimasDelete); } catch (SecurityException e) {System.err.println ("Nepavyko ištrinti failo:" + DeleteFileName + "(" + e.getMessage () + ")"); }}} 

Matome, kad ši programa yra šiek tiek platesnė nei ankstesnės, nes mes sukūrėme daugkartinio naudojimo funkcija Jei norite ištrinti failus, pirmiausia patvirtindami, kad failas egzistuoja, tada jį ištriname, čia patvirtiname, kad jis tikrai buvo ištrintas, kitaip pranešame vartotojui, kad failo nepavyko pašalinti iš failų sistemos.
Konsolėje matome, kaip mums pavyko sėkmingai atlikti šią operaciją, tam naudojame failą, kurį pervadinome ankstesniame pavyzdyje, taigi, sudarydami aplanko turinio sąrašą, matysime, kaip pasikeitė:

DIDELIS

Galiausiai bandysime dar kartą ištrinti, kad galėtume stebėti, kaip veikia patvirtinimai:

DIDELIS

Baigę šią pamoką, mes išmokome generuoti failus, be to, kad atlikome du dažniausiai naudojamus failų manipuliavimo veiksmus, ir mes galime įtraukti šiuos metodus į savo programas ir programas, naudodamiesi šio tipo metodų pranašumais. gali mus atvežti.
wave wave wave wave wave