Indholdsfortegnelse
På trods af at arbejde med Databaser Det er en meget god ting, og det sparer os for en masse arbejde, når vi foretager forespørgsler og relaterer poster, der er tidspunkter, hvor vi skal generere filer, da vi ikke har en server Database tilgængelig eller måske fordi vi ikke behøver at gemme en post, men et ikke -relateret datasæt.Filhåndtering er et område, som mange stadig ser som komplekst eller måske forældet, men dette er forkert, men generering af filer er afgørende for udviklingen af systemer og applikationer. En fil kan variere fra at generere en .txt med nogle linjer især, indtil generationen af store .xml at vi kan definere en konfiguration.
For at håndtere alt, hvad der indebærer oprettelse af en fil på et system, Java regne med klassen Fil i bibliotekspakken til dataindgang og outputhåndtering java.io. Denne klasse giver os forskellige metoder, der giver os mulighed for at udføre operationer lige fra oprette og slette filer, oprette mapper, validere tilladelser osv..
Inden vi i praksis ser, hvordan vi kan bruge klassen til at udføre filoperationer, skal vi forstå, at de gør nogle af deres hovedmetoder, med dette vil vi have et teoretisk grundlag, som vi kan gå til, når vi bliver præsenteret for et bestemt problem, der kræver håndtering af filer i vores programmer:
findes ()Denne metode giver os et boolsk svar om eksistensen af en bestemt fil i et bibliotek, som vi angiver, når vi påberåber den, naturligvis returnerer den sand eller sand, hvis filen er fundet og falsk eller falsk, hvis den ikke er.
getCanonicalPath ()Denne metode returnerer det fulde navn inklusive filstien, det er meget vigtigt at opnå den absolutte placering af vores fil i det system, hvor vi udfører vores program.
getName ()I modsætning til den foregående metode returnerer dette kun det relative og korte navn på filen, det vil sige uden at inkludere adressen eller mappen, hvor den er placeret.
canRead ()Denne metode giver os mulighed for at kontrollere, om vi har tilladelse til at læse filen, det er meget vigtigt at validere, om vi kan læse en fil eller ej, inden vi starter en operation med den, på denne måde kan vi reducere undtagelser og spare systemressourcer.
canWrite ()Dette er en anden metode, der hjælper os med at validere tilladelserne til filerne, når vi anvender den på en forekomst af klassen Fil giver os besked, hvis vi kan skrive den tilhørende fil.
længde ()Denne metode er en af de mest nyttige, da den giver os mulighed for at kende størrelsen på en fil, en vigtig kontrol ved behandling.
isFile ()Endelig giver denne metode os mulighed for at vide, om det, vi vurderer, er en fil eller et bibliotek, så vi ved, om vi arbejder på den struktur, vi ønsker.
Det oprettelse af en fil Det er en proces, hvorved vi skriver inden for systemet, hvor vores program kører. Der er forskel på at skrive en fil og skrive inde i en fil, den første fortæller os, at vi genererer filen i systemet, men vi har ikke nødvendigvis tilføjet indholdet til den; På den anden side fortæller den anden os, at vi tilføjer indhold til en eksisterende fil.
De undrer sig måske over, hvorfor vi vil have en tom fil, en tom fil er ikke ubrugelig, den kan være en del af en større proces i et program, for eksempel opretter en metode filen og efter et resultat af en proces tager en anden metode sig af tilføjelse data til den. Det kan også være afgørende ved valideringer, hvor vi genererer midlertidige filer for at angive programmet, hvilken fase af processen vi er i osv.
Lad os se nedenfor en lille kode, hvor vi genererer en tom flad fil.
import java.io. *; import java.io.File; public class CreateFiles {public static void main (String [] argv) kaster IOException {if (argv.length == 0) {System.err.println ("Du skal angive et navn efter parameter"); System.exit (1); } for (String filnavn: argv) {ny fil (filnavn) .createNewFile (); }}}
Vi ser, at det første, vi gør, er en import af klasserne af java.io for at kunne få adgang til undtagelseshåndtering med IOException, så importerer vi klassen java.io.Fil hvilket er det, der giver os mulighed for at manipulere filerne direkte.
Derefter opretter vi vores klasse og i dens metode vigtigste Vi angiver, at det vil modtage argumenter, vi gør dette for dynamisk at angive navnene på filerne. Da vi har brug for et navn, er det, vi gør, en lille validering, som angiver, at hvis et filnavn ikke modtages, bliver det bedt om at placere det, og programmet afsluttes. Endelig vil vi for hvert modtaget argument oprette en ny fil, med det vi gør, er en ny forekomst af klassen Fil og med metoden createNewFile () vi genererer filen i systemet.
Vi skal være opmærksom på, at hvis vores program ikke har tilstrækkelige tilladelser til at oprette en fil i dets bibliotek, får vi en fejl. Lad os uden videre fortælle, hvordan vores program ser ud, når vi kører det på konsollen:
FORSTØRRE
Vi kan se, hvordan vores første validering fungerede, og når vi har bestået filnavnet, er det blevet genereret, for at bekræfte sidstnævnte, har vi simpelthen udført en dir i vores bibliotek, og dermed verificerer vi eksistensen af filen.En anden af de mest almindelige operationer, når du arbejder med filer efter skrivning og sletning, er at omdøbe, for dette i Java Vi skal følge en proces, der kan virke kompliceret, men som vi vil se i eksemplet, der følger med forklaringen, er det noget ganske let at forstå.
Hvordan gør man det?Omdøb en fil i Java kræver to objekter af typen Fil, den første indeholder den fil, vi vil omdøbe, og den anden indeholder filens nye navn, når vi opfylder disse betingelser, skal vi kalde metoden omdøb til () over det eksisterende filobjekt og videregive det det nye objekt med det nye navn.
Lad os se den kode, vi har brug for for at udføre omdøbningsoperationen på vores fil:
import java.io. *; import java.io.File; public class RenameFiles {public static void main (String [] argv) kaster IOException {File FirstObject = new File ("NewFile.txt"); Fil secondobject = ny fil ("FileWithNewName.txt"); FirstObject.renameTo (SecondObject); }}
Vi importerer de tilsvarende klasser og pakker, idet vi holder det samme som det foregående eksempel.
Inde i metoden main () vi skal oprette vores første objekt, og vi kommer til at sætte navnet på den fil, som vi havde oprettet i det foregående eksempel i dette tilfælde, det er FileNew.txt. Derefter opretter vi et andet objekt med det nye navn, vi ønsker for vores fil, i det eksempel, vi har valgt FileWithNewName.txt.
Til sidst anvender vi metoden til det første objekt omdøb til () og som et argument eller parameter sender vi det det andet objekt, der har det nye navn til vores fil. Lad os se, hvordan det ser ud på konsollen, når vi kører vores kode:
FORSTØRRE
Vi lagde mærke til, hvordan mappen ændrede sig og nu afspejler vores nye fil i forhold til udførelsen af det første filoprettelseseksempel.Endelig vil vi se den anden operation, der er ret almindelig, når du arbejder med filer, og det er at slette, dette er måske en af de enkleste, da vi kun behøver at kende navnet på filen, validere, at den eksisterer og derefter fortsætte med at slette det ved hjælp af metoden slet () hvor vi vil videregive navnet på den pågældende fil. Lad os se i følgende kode, hvordan vi opnår dette:
import java.io. *; import java.io.File; public class DeleteFile {public static void main (String [] argv) {delete ('FileWithNewName.txt'); } offentlig statisk void -sletning (String filnavnDelete) {prøv {Filfil = ny fil (filnavnDelete); hvis (! file.exists ()) {System.err.println ("Filen" + filnavnDelete + "findes ikke i denne mappe"); Vend tilbage; } hvis (file.delete ()) System.err.println ("** filen" + fileNameDelete + "er blevet slettet **"); ellers System.err.println ("Filen kunne ikke slettes:" + filnavnDelete); } catch (SecurityException e) {System.err.println ("Filen kunne ikke slettes:" + DeleteFileName + "(" + e.getMessage () + ")"); }}}
Vi ser, at dette program er lidt mere omfattende end de tidligere, det er fordi vi har oprettet en genanvendelig funktion Til sletning af filer, hvor vi først validerer, at filen eksisterer, fortsætter vi med at slette den, her validerer vi, at den faktisk er blevet slettet, ellers informerer vi brugeren om, at filen ikke kunne fjernes fra filsystemet.
I konsollen kan vi se, hvordan vi var i stand til at udføre denne operation med succes, til dette bruger vi den fil, som vi havde omdøbt i det foregående eksempel, så når vi laver en liste over mappens indhold, vil vi se ændringen afspejlet:
FORSTØRRE
Endelig vil vi prøve at slette igen, så vi kan observere valideringerne, der fungerer:FORSTØRRE
Med dette afslutter vi denne vejledning, vi har lært at generere filer, ud over at udføre to af de mest anvendte handlinger til filmanipulation, med dette kan vi inkorporere disse teknikker i vores programmer og applikationer, og nyde fordelene ved denne type teknikker du kan bringe os.