Innholdsfortegnelse
Til tross for å jobbe med Databaser Det er en veldig god ting, og det sparer oss for mye arbeid når vi lager spørsmål og relaterer poster, det er tider når vi trenger å generere filer, siden vi ikke har en server Database tilgjengelig eller kanskje fordi vi ikke trenger å lagre en post, men et ikke -relatert datasett.Filbehandling er et område som mange fremdeles ser på som komplekst eller kanskje foreldet, men dette er feil, men generering av filer er avgjørende for utvikling av systemer og applikasjoner. En fil kan variere fra å generere en .tekst med noen linjer spesielt, til generasjonen av store .xml at vi kan definere en konfigurasjon.
For å håndtere alt som innebærer å lage en fil på et system, Java stole på klassen Fil i bibliotekpakken for datainnmatning og utdatahåndtering java.io. Denne klassen gir oss forskjellige metoder som lar oss utføre operasjoner som spenner fra opprette og slette filer, for å opprette kataloger, validere tillatelser, etc..
Før vi i praksis ser hvordan vi kan bruke klassen til å utføre filoperasjoner, må vi forstå at de gjør noen av hovedmetodene sine. Med dette vil vi ha en teoretisk base som vi kan gå til når vi blir presentert for et bestemt problem som krever håndtering av filer i programmene våre:
finnes ()Denne metoden gir oss et boolsk svar om eksistensen av en bestemt fil i en katalog som vi spesifiserer når vi påberoper den, den returnerer åpenbart sant eller sant hvis filen er funnet og usann eller usann hvis den ikke er det.
getCanonicalPath ()Denne metoden returnerer hele navnet inkludert filbanen, det er veldig viktig å få den absolutte plasseringen av filen vår i systemet der vi kjører programmet vårt.
getName ()I motsetning til den forrige metoden returnerer dette bare det relative og korte navnet på filen, det vil si uten å inkludere adressen eller mappen der den er plassert.
kan lese ()Denne metoden lar oss kontrollere om vi har tillatelse til å lese filen. Det er veldig viktig å validere om vi kan lese en fil eller ikke, på denne måten kan vi redusere unntak og spare systemressurser.
canWrite ()Dette er en annen metode som hjelper oss med å validere tillatelsene for filene når vi bruker den på en forekomst av klassen Fil vil gi oss beskjed hvis vi kan skrive den tilsvarende filen.
lengde ()Denne metoden er en av de mest nyttige, siden den lar oss vite størrelsen på en fil, en viktig sjekk ved behandling.
isFile ()Til slutt lar denne metoden oss vite om det vi evaluerer er en fil eller en katalog, så vi vet om vi jobber med strukturen vi ønsker.
De opprette en fil Det er en prosess der vi skriver i systemet der programmet vårt kjøres. Det er en forskjell mellom å skrive en fil og å skrive inne i en fil, den første forteller oss at vi genererer filen i systemet, men vi har ikke nødvendigvis lagt til innholdet i den; På den annen side forteller den andre at vi legger til innhold i en eksisterende fil.
De lurer kanskje på hvorfor vi vil ha en tom fil, en tom fil er ikke ubrukelig, den kan være en del av en større prosess i et program, for eksempel oppretter en metode filen og etter et resultat av en prosess tar en annen metode seg av å legge til data til den. Det kan også være avgjørende i valideringer, der vi genererer midlertidige filer for å indikere for programmet hvilken fase av prosessen vi er i, etc.
La oss se nedenfor en liten kode hvor vi genererer en tom flatfil.
import java.io. *; importer java.io.File; public class CreateFiles {public static void main (String [] argv) kaster IOException {if (argv.length == 0) {System.err.println ("Du må angi et navn etter parameter"); System.exit (1); } for (String filnavn: argv) {ny fil (filnavn) .createNewFile (); }}}
Vi ser at det første vi gjør er en import av klassene java.io for å få tilgang til unntakshåndtering med IOException, så importerer vi klassen java.io.Fil som er det som lar oss manipulere filene direkte.
Deretter lager vi klassen vår og i dens metode hoved- Vi angir at den vil motta argumenter, vi gjør dette for å dynamisk angi navnene på filene. Ettersom vi trenger et navn, er det vi gjør en liten validering, som indikerer at hvis et filnavn ikke mottas, blir det bedt om å plassere det og programmet avsluttes. Til slutt for hvert mottatt argument vil vi lage en ny fil, med dette er det vi gjør en ny forekomst av klassen Fil og med metoden createNewFile () vi genererer filen i systemet.
Vi må være klar over at hvis programmet vårt ikke har tilstrekkelige tillatelser til å opprette en fil i katalogen, får vi en feilmelding. Uten videre, la oss se hvordan programmet vårt ser ut når vi kjører det på konsollen:
FORSTØRRE
Vi kan se hvordan vår første validering fungerte, og når vi har passert filnavnet, har det blitt generert, for å bekrefte sistnevnte har vi ganske enkelt gjort en dir i katalogen vår, og dermed bekrefter vi eksistensen av filen.En annen av de vanligste operasjonene når du arbeider med filer etter skriving og sletting er å gi nytt navn, for dette i Java Vi må følge en prosess som kan virke komplisert, men som vi vil se i eksemplet som vil følge forklaringen, er det noe ganske lett å forstå.
Hvordan gjøre det?Gi nytt navn til en fil Java krever to objekter av typen Fil, den første vil inneholde filen som vi vil gi nytt navn og den andre inneholder det nye navnet på filen, når vi oppfyller disse betingelsene må vi kalle metoden gi nytt navn til () over det eksisterende filobjektet og send det nye objektet med det nye navnet.
La oss se koden vi trenger for å utføre nytt navn på filen vår:
import java.io. *; importer 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 klassene og pakkene, og beholder det samme som forrige eksempel.
Inne i metoden main () vi skal lage vårt første objekt, og vi skal sette navnet på filen som vi hadde opprettet i det forrige eksemplet i dette tilfellet FileNew.txt. Deretter lager vi et andre objekt med det nye navnet vi ønsker for filen vår, i eksemplet vi har valgt FileWithNewName.txt.
Til slutt bruker vi metoden på det første objektet gi nytt navn til () og som et argument eller parameter sender vi det andre objektet som har det nye navnet på filen vår. La oss se hvordan det ser ut på konsollen når vi kjører koden vår:
FORSTØRRE
Vi la merke til hvordan mappen endret seg og gjenspeiler nå vår nye fil sammenlignet med utførelsen av det første filopprettingseksemplet.Til slutt vil vi se den andre operasjonen som er ganske vanlig når du arbeider med filer, og det er å slette, dette er kanskje en av de enkleste, siden vi bare trenger å vite navnet på filen, bekrefte at den eksisterer og deretter fortsette å slette det ved hjelp av metoden slett () hvor vi vil sende navnet på den aktuelle filen. La oss se i følgende kode hvordan vi oppnår dette:
import java.io. *; importer java.io.File; public class DeleteFile {public static void main (String [] argv) {delete ('FileWithNewName.txt'); } sletting av offentlig statisk tomrom (String filnavnDelete) {prøve {Filfil = ny fil (filnavnDelete); hvis (! file.exists ()) {System.err.println ("filen" + filnavnDelete + "ikke finnes i denne katalogen"); komme tilbake; } hvis (file.delete ()) System.err.println ("** filen" + fileNameDelete + "er slettet **"); ellers System.err.println ("Kunne ikke slette filen:" + filnavnDelete); } catch (SecurityException e) {System.err.println ("Kan ikke slette fil:" + DeleteFileName + "(" + e.getMessage () + ")"); }}}
Vi ser at dette programmet er litt mer omfattende enn de forrige, dette er fordi vi har laget en gjenbrukbar funksjon For sletting av filer, der vi først bekrefter at filen eksisterer, fortsetter vi med å slette den, her vil vi validere at den faktisk er slettet, ellers informerer vi brukeren om at filen ikke kunne fjernes fra filsystemet.
I konsollen kan vi se hvordan vi var i stand til å utføre denne operasjonen, for dette bruker vi filen som vi hadde gitt nytt navn i forrige eksempel, så når vi lager en liste over innholdet i mappen, vil vi se endringen reflektert:
FORSTØRRE
Til slutt skal vi prøve å slette igjen slik at vi kan observere valideringene som fungerer:FORSTØRRE
Med dette avslutter vi denne opplæringen, vi har lært å generere filer, i tillegg til å utføre to av de mest brukte handlingene for filmanipulering, med dette kan vi inkorporere disse teknikkene i våre programmer og applikasjoner, og nyte fordelene med denne typen teknikker du kan bringe oss.